原系统用的是mysql5.7.10版本,被扫出了好多漏洞,想修复只能升级到最新版

一番周折之后升级完成了,下面记录下以备后面升级使用

1.下载最新版mysql

官网:https://dev.mysql.com/downloads/mysql/

可以看到最新版为 5.7.43,果断下载

 

2.通过服务查看原始mysql安装信息

 我这里为安装后的信息

 之前的信息为

"C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld.exe" --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.7\my.ini" MySQL57

从上面可以得知

程序路径为 C:\Program Files\MySQL\MySQL Server 5.7

配置文件路径为:C:\ProgramData\MySQL\MySQL Server 5.7\my.ini

打开配置文件查看关键参数

注意:路径basedir是指mysql安装路径,datadir是存放数据库文件路径

basedir="C:/Program Files/MySQL/MySQL Server 5.7/"

datadir="C:/ProgramData/MySQL/MySQL Server 5.7/Data"

 

3.停止mysql,上传mysql最新版安装包并解压,把data数据库目录和 my.ini配置文件拷贝至新目录,并修改my.ini配置文件

这里有个思考:就是如何部署mysql数据库才是最合理的

是把data数据库目录和 my.ini放在mysql程序同级目录,还是专门用一个目录存储他们,每次升级修改配置指向他们即可?

其实mysql升级之后会有些功能语法上的不同,新版本数据库不一定能兼容旧版本,如果只用一个目录存放不做备份,那升级失败回滚就容易出问题

所以:

(1)如果data数据库文件不大(5G以内):建议每次升级都把 data数据库目录和 my.ini配置文件拷贝一份到新mysql程序同级目录,这样每个版本的mysql程序和data数据库目录一一对应,这让回滚轻而易举

(2)如果data数据库文件比较大(5G以上):还是建议每次升级都把 data数据库目录和 my.ini配置文件拷贝一份到新mysql程序同级目录,不过保留上一个版本的mysql data数据库目录和 my.ini作为备份即可,其他版本可以删除

操作步骤

在服务里面停止mysql服务

上传并解压新mysql目录,不建议放在C盘,放在空间更大的D盘更合适

然后把原来data数据库目录和 my.ini配置文件拷贝至新目录

修改my.ini配置文件basedir和datadir指向新目录

basedir="D:\mysql\mysql-5.7.43-winx64\"

datadir="D:\mysql\mysql-5.7.43-winx64\Data"

 

4.卸载旧mysql程序,安装新mysql程序

进入到原来mysql文件夹bin目录下面执行

注意:--remove后面的的 MySQL需要和服务里名称保持一致

 

mysqld --remove MySQL

 

进入到新版mysql的bin文件里面执行mysql安装

mysqld --install MySQL

 

启动mysql服务

net start MySQL

这个在服务里面操作也可以

 

5.升级mysql数据库,兼容最新版特性

mysql_upgrade -uroot -p

输入数据库密码即可

重启mysql服务

net stop mysql 
net start mysql

也可以在服务里面操作

 用navicat等工具登陆,验证版本是否为最新版

select version(); 

 

 

参考文档:

https://blog.csdn.net/solly793755670/article/details/131681532

https://blog.csdn.net/qq_41554892/article/details/131809683

https://blog.csdn.net/qq_42212501/article/details/122894158

 

posted on 2023-10-09 16:38  06  阅读(178)  评论(0编辑  收藏  举报