生产环境Mysql升级8.0.29记录

公式项目扫描漏洞扫描出Mysql漏洞

 从漏洞详情中给出的解决办法进入官网查看信息

查询对应的CVE编号:CVE-2022-21460       

 

 发现当前使用Mysql版本为5.7.37,百度了一圈没找到打补丁的方法,索性就进行版本升级

ps:如果有人会对Mysql进行打补丁,麻烦评论区留个言,我向您请教一下

后边就是去官网下载了最新的Mysql-8.0.29的tar包

大致的升级流程如下(由于我没有删除5.7的版本,5.7和8.0进行并存,只不过运行的版本为8.0):

  1. 备份5.7数据库数据
  2. 备份5.7配置文件
  3. 备份5.7的/etc/init.d/mysql文件
  4. 解压Mysql 8.0
  5. 替换/etc/my.cnf 文件(配置文件按照自己需求进行配置)
  6. 安装Mysql 8.0 (mysql --initialize 记得配置日志路径,安装后初始密码在日志里边,大小写敏感一定要规定好,切记!如果现在不规定好大小写敏感,后边数据库运行之后就不能更改了)
  7. 将suppor-file文件夹下的mysql.server替换到/etc/init.d/mysql 文件
  8. vim /etc/init.d/mysql 配置自己的数据路径、Mysql安装路径
  9. 使用 ln -sf 进行软连接
  10. 启动Mysql 8.0
  11. mysql -uroot -p 进行登录 从日志中获取初始密码
  12. 下边就是配置navicat的远程连接和用户密码了
  13. 所有东西都完成后就只需要恢复数据库了
  14. 如果使用 mysql -uroot -p -f database < bak.sql 可以加-f遇到错误跳过而不是中断,中断的话可能你还需要重新再恢复一遍,数据量大的话恢复是要很长时间的

关于升级流程的坑,我踩了个大小写敏感的,数据都恢复完了,才发现对接的服务端是写入的大写表,Java端查询的小写表,希望能对看到的朋友有帮助。

 


版权声明:本文为weixin_45767235原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。