https://dev.mysql.com/downloads/mysql/ 官網(wǎng)的社區(qū)版的下載地址
最終的下載地址是https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.13-1.el7.x86_64.rpm-bundle.tar
直接下載的話比較慢席镀,所以我用迅雷下載到了本地句携,然后再用終端傳到CentOS
首先继谚,檢查一下下載的文件的完整性,從終端進(jìn)到下載的目錄,然后使用命令計(jì)算md5值
md5sum mysql-8.0.13-1.el7.x86_64.rpm-bundle.tar
計(jì)算結(jié)果顯示與下載列表里面的md5值一致畴椰。
在/usr下新建mysql文件夾
cd /usr
mkdir mysql
cd mysql
接下來用下面命令傳到CentOS
scp -P 22 /Users/florentino/Downloads/mysql-5.7.20-1.el7.x86_64.rpm-bundle.tar root@192.168.31.48:/usr/mysql
這里的ip地址和路徑按需配置,之后輸入密碼鸽粉,正確的話就開始傳輸,接著解壓文件
tar -xvf mysql-8.0.13-1.el7.x86_64.rpm-bundle.tar
mysql與自帶的mariadb有沖突斜脂,先卸載mariadb
rpm -qa | grep mariadb 列出系統(tǒng)上的組件
我這里是顯示的如下版本
mariadb-libs-5.5.56-2.el7.x86_64
卸載之
[root@Develop mysql]# rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
再列出系統(tǒng)上的組件版本,已經(jīng)不存在了
接下來触机,要安裝四個(gè)rpm文件帚戳,依次是
rpm -i?mysql-community-common-8.0.13-1.el7.x86_64.rpm
rpm -i mysql-community-libs-8.0.13-1.el7.x86_64.rpm
rpm -i?mysql-community-client-8.0.13-1.el7.x86_64.rpm
rpm -i mysql-community-server-8.0.13-1.el7.x86_64.rpm
我在安裝server的時(shí)候報(bào)錯(cuò)了,缺少依賴威兜,分別安裝依賴
yum install perl?
yum install net-tools
yum install perl-JSON.noarch
yum install "perl(Data::Dumper)"
再裝server的rpm就行了
安裝完成销斟,可以先修改一下/etc/my.cnf配置,一般來說會(huì)修改一下mysql的data的保存路徑椒舵,我本地的系統(tǒng)在/home下掛有大硬盤蚂踊,所以在配置文件里修改datadir=/home/data/mysql。
先在/home下新建目錄data笔宿,cd /home犁钟,mkdir data,
復(fù)制原路徑的data 數(shù)據(jù)
cp -R ?/var/lib/mysql? ? ? /home/data/mysql
chow -Rf mysql:mysql /home/data/mysql
chmod -R 755 /home/data/mysql?
關(guān)閉 SELinux泼橘,打開 /etc/selinux/config涝动,把 SELINUX=enforcing 改為 SELINUX=disabled 后保存退出
setenforce 0 #使配置立即生效
運(yùn)行,[root@Develop mysql]# service mysqld start
Redirecting to /bin/systemctl startmysqld.service
新版的mysql在安裝的時(shí)候會(huì)生成一個(gè)臨時(shí)的密碼炬灭,獲取方式是
cat /var/log/mysqld.log|grep -n password
接著登陸mysql
mysql -u root -p
輸入剛才查看到的密碼醋粟,登陸成功,然后修改root密碼
alter user 'root'@'localhost'IDENTIFIED BY 'MyNewPass';
接著授權(quán)遠(yuǎn)程登錄,mysql8.0無法給用戶授權(quán)或提示You are not allowed to create a user with GRANT,5.7那一套辦法已經(jīng)不行了米愿,跟我來厦凤。
提示意思是不能用grant創(chuàng)建用戶,mysql8.0以前的版本可以使用grant在授權(quán)的時(shí)候隱式的創(chuàng)建用戶育苟,8.0以后已經(jīng)不支持较鼓,所以必須先創(chuàng)建用戶,然后再授權(quán)违柏,命令如下:
mysql> CREATE USER 'root'@'%' IDENTIFIED BY 'Hadoop3!';
Query OK, 0 rows affected (0.04 sec)
mysql> grant all privileges on *.* to 'root'@'%';
Query OK, 0 rows affected (0.03 sec)
另外博烂,如果遠(yuǎn)程連接的時(shí)候報(bào)plugin caching_sha2_password could not be loaded這個(gè)錯(cuò)誤,可以嘗試修改密碼加密插件:
mysql> alter user 'root'@'%' identified with mysql_native_password by 'Hadoop3!';
systemctl restart mysqld
防火墻打開3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
重啟防火墻
firewall-cmd --reload
///修改默認(rèn)字符集
character-set-server=utf8
init_connect='SET NAMES utf-8'
sql_mode='NO_ENGINE_SUBSTITUTION'
max_allowed_packet=1024M
在/etc/my.cnf下面加上這三個(gè)漱竖,然后重啟mysql服務(wù)
有時(shí)候新聞過長(zhǎng)禽篱,導(dǎo)致內(nèi)容過大,要設(shè)置
set global max_allowed_packet=524288000;
直接在navicat里面運(yùn)行查詢就行