说明:
5.7.31 升级至 5.7.38,修复部分版本漏洞。
这篇采用物理冷备份迁移升级方式,面对的场景是将数据库软件和数据存放路径安装在了Windows操作系统的C盘(系统盘),而且数据量非常小(参考小于5G~30G),停机时间很宽裕(参考3小时~6小时),才可采用以下方法。
数据量大,停机时间短的业务场景后续将推出文章进行测试和描述。
在源端数据库(C盘)里造点测试数据,方便升级迁移以后验证。
创建个登录测试账户。
造点测试数据。
一、拷贝 5.7.38 软件包并解压到正确的位置上
你可千万别覆盖了源端(生产环境)!!!
你可千万别覆盖了源端(生产环境)!!!
你可千万别覆盖了源端(生产环境)!!!
这次我们解压到D盘路径下,解决系统盘上的压力。
二、停服务停库,做好全量备份、回退机制
Windows 系统直接通过服务进行启停。
备份压缩全量数据
备份记录并删除源端(C盘)的 MySQL 服务
备份记录下来执行路径,生产环境后面会带参数。
删除原服务。
修改系统环境变量,%MYSQL_HOME%
三、拷贝迁移数据文件和配置文件
从 C 盘拷贝至 D 盘路径下
别忘了还有一个 uploads 文件夹 。
修改 my.ini 配置文件里的新路径。
四、安装并启动 MySQL 服务
以管理员身份运行。
服务安装以后启动的时候报错。
查看服务的属性,可以看到执行路径不对。
修改服务执行路径和启动项。
"HKEY_LOCAL_MACHINE / SYSTEM / CurrentControlSet / services"
找到 MySQL57的服务,修改 ImagePath。
D:\MySQL57\mysql-5.7.38-winx64\bin\mysqld --defaults-file="D:\MySQL57\mysql-5.7.38-winx64\my.ini" MySQL57
服务正常启动。
五、MySQL 升级和检查
mysql_upgrade -uroot -p123456
关闭并重启 MySQL
select @@version;
show global variables like '%basedir%';
show global variables like '%datadir%';
系统账户和业务数据迁移也没问题。