主要原因是因为安全检查漏洞问题需要将上线的项目得数据库从Mysql 5.7.23版本升级到指定版本Mysql 5.7.42,部署的环境为Windows Server 2016.
一、相关准备
1、官网下载指定版本的Mysql Zip包,链接:MySQL :: Download MySQL Community Server (Archived Versions)
2、进行原有数据库的备份,一定要进行备份,避免出现问题无法还原,可以直接备份数据库成sql文件,或者备份原有数据库安装包
备注:升级后我觉得,备份Sql文件这种方式其实没有必要,直接备份原有数据库的安装文件即可,因为不对原有安装包进行修改操作,如果升级失败,将现有Mysql服务直接卸载,然后在原有版本重新注册服务即可,为了以防万一,请自行选择。
3、此方法只适用于小版本的升级,大版本升级没有调研过。
二、进行升级
1、查看mysql安装路径及数据存放路径
select @@basedir as basePath from dual;
show global variables like '%datadir%';
2、关闭Mysql服务,可以通过PowerShell或者使用Cmd命令方式关闭,请使用管理员打开,或者直接通过服务界面,关闭Mysql服务。下面启动时也可通过这种方法启动。
net stop mysql
3、进入原有Mysql安装目录下,移除Mysql服务,我得是C:\software\mysql-5.7.27-winx64
mysqld —remove
4、然后将原有Mysql安装目录下的data文件以及my.ini配置文件复制到5.7.42版本解压之后的文件夹路径下,在此目录打开power shell或者cmd进行Mysql服务的初始化,并启动Mysql服务.
mysqld —install
net start mysql
5、启动Mysql数据库服务之后,进入到5.7.42版本的bin目录下,打开power shell或者cmd,然后执行以下命令进行升级,注意,如果数据库的端口号不是默认3306端口,请加上-P xxx,来指定你的端口号。
mysql_upgrade.exe -uroot -p
6、升级成功后可以登录Mysql数据库通过SELECT VERSION();
来查看数据库的版本,至此数据库升级成功。