MySQL 8.0.15向8.0.16升级启动失败问题解决

从Oracle的官方源更新MySQL之后发现MySQL无法正常启动了,查看了一下/var/log/mysql.log也异常单一。

2019-04-28T02:59:39.881846Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.16) starting as process 384
2019-04-28T02:59:50.800045Z 4 [System] [MY-013381] [Server] Server upgrade from ‘80015’ to ‘80016’ started.
2019-04-28T02:59:52.461014Z 4 [ERROR] [MY-013384] [Server] Could not create server upgrade info file at ‘/var/lib/mysql/’.
2019-04-28T02:59:52.468088Z 0 [ERROR] [MY-013380] [Server] Failed to upgrade server.
2019-04-28T02:59:52.468307Z 0 [ERROR] [MY-010119] [Server] Aborting
2019-04-28T02:59:54.080113Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.16) MySQL Community Server – GPL.

早前Oracle出错都能打印出一长串错误日志,这次仅仅留下有 Could not create server upgrade info file at ‘/var/lib/mysql/’ 一句。

查看了一下数据目录,发现此时用于记录当前数据目录版本的mysql_upgrade_info的所有者是root用户:

ls -l /var/lib/mysql
total 2153959
….
-rw-r–r– 1 root root 6 Apr 8 09:17 mysql_upgrade_info
….

显然这造成MySQL启动尝试更新mysql_upgrade_info内容到8.0.16时被没有足够权限。想必是8.0.15的Oracle官方源存在问题,错误得用root用户重写了mysql_upgrade_info,因此造成了问题。

chown mysql:mysql /var/lib/mysql/mysql_upgrade_info
service mysqld restart

运行上述命令后MySQL就可正常完成升级并启动了。如需确认,可以在日志中读到以下内容:

2019-04-28T03:02:15.207177Z 4 [System] [MY-013381] [Server] Server upgrade from ‘80015’ to ‘80016’ started.
2019-04-28T03:02:16.922262Z 4 [System] [MY-013381] [Server] Server upgrade from ‘80015’ to ‘80016’ completed.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值