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:ProgramDataMySQLMySQL Server”中。
7、注册新MySQL到Windows服务
如上图所示,以管理员身份运行“命令提示符”。
如上图所示,在“命令提示符”窗口中,进入新 MySQL 的 bin 目录(本例为:C:MySoftmysql-5.7.44-winx64bin)
cd MySQL的bin目录路径
如上图所示,为了避免和旧 MySQL 版本的服务名有冲突, 将MySQL 注册到 Windows 服务时,指定了一个自定义的服务名(本例为:mysql5744)。
mysqld -install 自定义的服务名
注意:执行该命令时,可能会提示缺少 xxx.ddl,一般去下载安装 Microsoft Visual C 2015-2019 Redistributable 环境依赖即可解决。
如上图所示,已成功注册 MySQL 到 Windows 服务,服务名为自定义的 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:Mysoftmysql-5.7.44-winx64binmysql.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】
相关文章
- 优化GreatSQL日志文件空间占用 GreatSQL对于日志文件磁盘空间占用,做了一些优化,对于binlog、...03-18
- "数据约束条件" date: 2022-11-24T21:24:31 08:00 draft: false MySQL字段约束条件 无符号, 零填充...03-18
【GreatSQL优化器-16】INDEX_SKIP_SCAN
【GreatSQL优化器-16】INDEX_SKIP_SCAN 一、INDEX_SKIP_SCAN介绍 GreatSQL 优化器的索引跳跃扫描(Index Ski...03-18- MySQL 是一个非常流行的开源关系数据库管理系统,在各种应用场景中都得到了广泛的应用。随...03-18
- 🤖 DB-GPT 是一个开源的 AI 原生数据应用程序开发框架,具有 AWEL(代理工作流表达式语...03-18
GreatSQL 8.0.32-27 GA (2025-3-10)
GreatSQL 8.0.32-27 GA (2025-3-10) 版本信息 发布时间:2025年3月10日 版本号:8.0.32-27, Revision aa66a38591...03-18- 6. MySQL 索引的数据结构(详细说明) @目录6. MySQL 索引的数据结构(详细说明)1. 为什么使用索引2...03-18
- @Override @Transactional(rollbackFor = Exception.class) public void batchInsertDeviceData(IotMsgNotifyData iotMsgNotifyDa...03-18
- 个人Qt项目总结——数据库查询断言问题 问题: 当我使用MySQL数据库的查询操作时, 如果查询...03-18
- MySQL 是一种广泛使用的关系数据库管理系统,MySQL 8 是其最新的主要版本,结合了出色的性能和...03-18
最新评论