Windows的MySQL数据库升级(解压包方式)

1、背景描述

原来的 MySQL 在安装时,是最新的稳定版本 5.7.33 。

经过一段时间后,在原来的 MySQL 版本中,发现存在漏洞。

因为 MySQL 的官方补丁,需要 Oracle 的 si 码(Support Identifier),不是免费的。

因此,只好将旧版本(5.7.33)升级到没有漏洞的新版本(5.7.44)。

提示:无论旧版本的数据库,是使用安装器方式安装的,还是使用解压包方式安装的;都可以(且推荐)使用解压包方式来升级。

2、下载Mysql的最新安装包

下载地址:https://downloads.mysql.com/archives/community/

注意:官网的下载速度可能很慢,有任务时间要求的须尽快下载,或者使用其他可靠的下载源

如上图所示,旧版本是 5.7.33 的,新版本应该选择 5.7.x 中最新的,本例为 5.7.44 。

注意:选择完MySQL的版本后,可以看到下载列表中有两个可以选择,下载名字不带 Debug 和 Test 的即可。

3、解压到安装目录

如上图所示,本例将 MySQL 的压缩包的文件解压到 MySoft 目录下,这个操作相当于指定了 MySQL 的安装目录。

4、创建my.ini配置文件

如上图所示,先创建一个 my.txt 文件,编辑好配置信息后,再将文件后缀修改为 ini 。

[mysqld]
# 设置MySQL的安装目录路径
basedir=C:/MySoft/mysql-5.7.44-winx64
# 设置MySQL的数据目录路径
datadir=C:/MySoft/mysql-5.7.44-winx64/data
# 默认接收的数据包大小为 1M ,这里设置大一点为 20M
max_allowed_packet=20M

注意:上述截图和实际配置文本有点差异,主要是增加了接收的数据包大小设置"max_allowed_packet=20M"。

5、修改旧MySQL服务属性

如上图所示,启动类型设为"禁用",服务状态点击停止。

如上图所示,这是旧MySQL服务属性修改后的状态。

提示:可以通过任务管理器,进入Windows服务界面:

6、复制data目录

如上图所示,将旧 MySQL 版本的 data 目录复制到新 MySQL 版本的安装目录中。

提示:一般 MySQL 的 data 目录默认路径在隐藏的文件夹"C:\ProgramData\MySQL\MySQL Server"中。

7、注册新MySQL到Windows服务

如上图所示,以管理员身份运行"命令提示符"。

如上图所示,在"命令提示符"窗口中,进入新 MySQL 的 bin 目录(本例为:C:\MySoft\mysql-5.7.44-winx64\bin)

cd MySQL的bin目录路径

如上图所示,为了避免和旧 MySQL 版本的服务名有冲突, 将MySQL 注册到 Windows 服务时,指定了一个自定义的服务名(本例为:mysql5744)。

mysqld -install 自定义的服务名

注意:执行该命令时,可能会提示缺少 xxx.ddl,一般去下载安装 Microsoft Visual C++ 2015-2019 Redistributable 环境依赖即可解决。

如上图所示,已成功注册 MySQL 到 Window s服务,服务名为自定义的 mysql5744 。

8、启动新MySQL服务

8.1、启动方式一

如上图所示,可以在 Windows 服务界面,直接选择 MySQL 服务启动。

8.2、启动方式二

如上图所示,可以通过命令启动 MySQL 服务,启动成功会有相关提示信息。

net start mysql服务名

提示:暂停 MySQL 服务的命令为"net stop mysql服务名"
注意:执行该命令时,可能会报错"服务无法启动,服务没有报告任何错误,请键入 NET HELPMSG 3534 以获得更多的帮助";

这个可能是因为在执行"mysqld -install 自定义的服务名"命令时,存在 mysqld 的环境变量问题,用到了旧 MySQL 设置的环境变量。

此时可以去 Windows 服务界面查看该新 MySQL 服务的"可执行文件的路径":

如果该值不是新 MySQL 的路径,可以通过以下方式解决:

删除存在问题的 MySQL 服务:mysqld -remove 自定义的服务名

全路径注册新 MySQL

到 Windows 服务:C:\Mysoft\mysql-5.7.44-winx64\bin\mysql.exe -install 自定义的服务名

8.3、查看新MySQL服务状态

如上图所示,新 MySQL 服务正在运行,且开机自动启动运行。

9、登录检查新版本MySQL

如上图所示,登录新 MySQL 成功。此外,登录信息还显示目前的版本号为 5.7.44 。

如上图所示,新MySQL数据库,也正常复制了旧数据库开启的远程访问权限。

本文参考

【1】【忘不念】【mysql5.7.3至5.7.4升级步骤-windows】【CSDN】【 2023-10-27】

【2】【qyhua】【mysql漏洞修复(mysql升级)】【CSDN】【2024-03-14】

【3】【gblfy】【com.mysql.jdbc.PacketTooBigException: Packet for query is too large 异常解决办法】【51CTO】【2022-09-05】

【4】【左岸麦田】【Microsoft Visual C++ 2019 v14.28.29617】【博客园】【2020-03-18】

【5】【Feynmania】【mysql8.0.25安装问题记录:MySQL服务无法启动,服务没有报告任何错误,请键入 NET HELPMSG 3534 以获得更多的帮助】【博客园】【2021-05-13】