我正在从 mysql 5.7.26 到 5.7.33 进行就地升级。我已经为服务器主机从 5.6 升级到 5.7 并且没有遇到这个问题。
遵循以下步骤
- 还拍摄了 VM 快照和 mysqldump。
- systemctl 停止 mysqld
- 删除了 mysql 5.7.26 rpms
- 百胜安装 mysql-community-common-5.7.33-1.el7.x86_64
- 百胜安装 mysql-community-libs-5.7.33-1.el7.x86_64
- 百胜安装 mysql-community-libs-compat-5.7.33-1.el7.x86_64
- 百胜安装 mysql-community-client-5.7.33-1.el7.x86_64
- 百胜安装 mysql-community-server-5.7.33-1.el7.x86_64
- systemctl 启动 mysqld
安装 5.7.33 rpms 后,当我尝试运行 mysql_upgrade 时,我意识到我的密码不起作用,然后当我检查时,我看到 /var/lib/mysql 下有一个新的空 /etc/my.cnf 文件和新实例。我仍然可以看到我的实际数据目录完好无损。
为什么是这个问题,因为我以前从未遇到过。如果我用我的实际 my.cnf 替换空的 my.cnf 并重新启动 mysqld 服务,它会解决我的问题吗?
谢谢
不知道为什么会出现这个问题。删除 5.7.26 rpms 实际上会将 /etc/my.cnf 重命名为 /etc/my.cnf.rpmsave。安装 5.7.33 rpms 会创建一个普通的新 /etc/my.cnf 。所以当我启动 mysqld 时,它会在 /var/lib/mysql 中创建一个新的数据目录。删除旧 rpm 后,我将 /etc/my.cnf.rpmsave 重命名为 /etc/my.cnf 并启动 mysqld 并运行 mysql_upgrade。现在一切都好。我在许多服务器上升级到 mysql 5.7.33,在任何地方都没有遇到问题。我看到的唯一区别是 my.cnf 在工作服务器中归 mysql 所有,而在当前场景中归 root 所有