阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

MySQL官方源从8.0.3直接yum升级到8.0.4后无法启动

188次阅读
没有评论

共计 1714 个字符,预计需要花费 5 分钟才能阅读完成。

服务器环境: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.linuxidc.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;

重启后,一切正常。升级前一定要备份, 一定要经常备份。

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计1714字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中