MySQL官方源從8.0.3直接yum升級到8.0.4後無法啟動

來源:互聯網
上載者:User

MySQL官方源從8.0.3直接yum升級到8.0.4後無法啟動

伺服器環境:CentOS 7.4.14

問題:MySQL無法正常啟動

查看日誌

2018-02-23T02:10:08.371209Z 0 [System] [MY-010116] /usr/sbin/mysqld (mysqld 8.0.4-rc-log) starting as process 27702 ...
2018-02-23T02:10:08.737713Z 1 [ERROR] [MY-011096] No data dictionary version number found.
2018-02-23T02:10:08.737989Z 0 [ERROR] [MY-010020] Data Dictionary initialization failed.
2018-02-23T02:10:08.738038Z 0 [ERROR] [MY-010119] Aborting

後來發現,升級後預設啟用了caching_sha2_password身份認證機制,以前的資料是不能直接啟動並執行。

只能先恢複原版本,將資料從原版本匯出,重新匯入使用,或再升級匯入。

一、卸載MySQL8.0.4

備份資料

mv /var/lib/{mysql,mysql.bak}
chown -R mysql:mysql /var/lib/mysql.bak
chmod 755 -R  /var/lib/mysql.bak

直接yum卸載

rpm -qa|grep '^mysql'

然後將查詢出的8.0.4的包全部yum卸載

二、安裝MySQL8.0.3

從官方下載 8.0.3

下載打包版mysql-8.0.3-0.1.rc.el7.x86_64.rpm-bundle.tar

解壓

tar -xvf mysql-8.0.3-0.1.rc.el7.x86_64.rpm-bundle.tar

然後依次安裝common、libs、client、server

rpm -ivh mysql-community-common-8.0.3-0.1.rc.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.3-0.1.rc.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.3-0.1.rc.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.3-0.1.rc.el7.x86_64.rpm

啟動mysql

systemctl start msyqld.service

此時/var/lib/重建了一個新的mysql檔案夾

三、資料匯出

修改/etc/my.cnf指向舊資料

[mysqld]
innodb_force_recovery = 6
datadir=/var/lib/mysql.bak

Forcing InnoDB Recovery提供了6個等級的修複模式
innodb_force_recovery 參考: https://www.bkjia.com/Linux/2018-02/151049.htm

全庫匯出:
mysqldump -uroot -p --all-databases > /home/sqlfile.sql

四、資料恢複

修改/etc/my.cnf資料路徑,去掉修複模式,修複模式下不可寫

[mysqld]
datadir=/var/lib/mysql

查看臨時密碼

[root@soft]# cat /var/log/mysqld.log|grep password
2018-02-23T08:06:36.785974Z 5 [Note] A temporary password is generated for root@localhost: Leyk2qO_75ER

用臨時密碼登入mysql,修改密碼

放棄升級,直接匯入資料

mysql -uroot -p

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'abcdef@' WITH GRANT OPTION;
mysql>flush privileges;
mysql>source /home/sqlfile.sql;

重啟後,一切正常。升級前一定要備份,一定要經常備份。

本文永久更新連結地址:https://www.bkjia.com/Linux/2018-02/151050.htm

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.