CentOS 7.4安裝MySql 8.0.13及配置

https://dev.mysql.com/downloads/mysql/ 官網的社區版的下載地址

最終的下載地址是https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.13-1.el7.x86_64.rpm-bundle.tar

直接下載的話比較慢,所以我用迅雷下載到了本地,然后再用終端傳到CentOS

首先,檢查一下下載的文件的完整性,從終端進到下載的目錄,然后使用命令計算md5值

md5sum mysql-8.0.13-1.el7.x86_64.rpm-bundle.tar

計算結果顯示與下載列表里面的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 列出系統上的組件

我這里是顯示的如下版本

mariadb-libs-5.5.56-2.el7.x86_64

卸載之

[root@Develop mysql]# rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

再列出系統上的組件版本,已經不存在了

接下來,要安裝四個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的時候報錯了,缺少依賴,分別安裝依賴

yum install perl?

yum install net-tools

yum install perl-JSON.noarch

yum install "perl(Data::Dumper)"

再裝server的rpm就行了

安裝完成,可以先修改一下/etc/my.cnf配置,一般來說會修改一下mysql的data的保存路徑,我本地的系統在/home下掛有大硬盤,所以在配置文件里修改datadir=/home/data/mysql。

先在/home下新建目錄data,cd /home,mkdir data,

復制原路徑的data 數據

cp -R ?/var/lib/mysql? ? ? /home/data/mysql

chow -Rf mysql:mysql /home/data/mysql

chmod -R 755 /home/data/mysql?

關閉 SELinux,打開 /etc/selinux/config,把 SELINUX=enforcing 改為 SELINUX=disabled 后保存退出

setenforce 0 #使配置立即生效

運行,[root@Develop mysql]# service mysqld start

Redirecting to /bin/systemctl startmysqld.service

新版的mysql在安裝的時候會生成一個臨時的密碼,獲取方式是

cat /var/log/mysqld.log|grep -n password

接著登陸mysql

mysql -u root -p

輸入剛才查看到的密碼,登陸成功,然后修改root密碼

alter user 'root'@'localhost'IDENTIFIED BY 'MyNewPass';

接著授權遠程登錄,mysql8.0無法給用戶授權或提示You are not allowed to create a user with GRANT,5.7那一套辦法已經不行了,跟我來。

提示意思是不能用grant創建用戶,mysql8.0以前的版本可以使用grant在授權的時候隱式的創建用戶,8.0以后已經不支持,所以必須先創建用戶,然后再授權,命令如下:

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)

另外,如果遠程連接的時候報plugin caching_sha2_password could not be loaded這個錯誤,可以嘗試修改密碼加密插件:

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

///修改默認字符集

character-set-server=utf8

init_connect='SET NAMES utf-8'

sql_mode='NO_ENGINE_SUBSTITUTION'

max_allowed_packet=1024M

在/etc/my.cnf下面加上這三個,然后重啟mysql服務

有時候新聞過長,導致內容過大,要設置

set global max_allowed_packet=524288000;

直接在navicat里面運行查詢就行

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容