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】
【4】【左岸麦田】【Microsoft Visual C++ 2019 v14.28.29617】【博客园】【2020-03-18】
Windows的MySQL数据库升级(解压包方式)的更多相关文章
- 安装Windows 64 位 mysql 最新版本解压包中没有data目录和my-default.ini及服务无法启动的快速解决办法
mysql官网下载地址:https://dev.mysql.com/downloads/mysql/ 首先安装包解压后,没有网上教程里面提到的data文件夹和my-default.ini 配置环境变量 ...
- windows 安装MySQL服务 zip解压程序
1:配置 my.ini 文件 如下: [mysql] default-character-set=utf8[mysqld] port=3306basedir=D:\\Program Files\\da ...
- 【DataBase】 在Windows系统环境 下载和安装 解压版MySQL数据库
MySQL官网解压版下载地址:https://dev.mysql.com/downloads/mysql/ 为什么不推荐使用安装版?无脑下一步,很多配置的东西学习不到了 点选第一个就好了,下面的是调试 ...
- MySQL解压包的安装教程
一.下载MySQL解压包 解压过的文件夹里面是没有 data 文件夹的. 二.创建文件 1.在根目录下创建 my.ini文件 内容如下: [mysqld] # 设置mysql的安装目录 basedir ...
- MySQL 5.7 解压版 安装教程(图文详细)[Windows]
最近在学习中用到了MySQL数据库,在安装过程中遇到了不少问题,在翻了大半天百度后,问题基本都解决了,所以写一篇MySQL 5.7 解压版的图文详细安装教程. 至于为什么我会选择解压版而不是安装版,一 ...
- windows安装mysql数据库并修改密码
1.下载 MySQL Community Server https://dev.mysql.com/downloads/mysql/ 2.解压 如果想要让MySQL安装在指定目录,那么就将解压后的文件 ...
- mysql5.7解压包安装教程
下载mysql5.7解压包Download MySQL Community Server,解压文件.https://dev.mysql.com/downloads/mysql/ 步骤1:新建my.in ...
- Mysql 5.6 解压版配置方案
# For advice on how to change settings please see # http://dev.mysql.com/doc/refman/5.6/en/server-co ...
- SQLServer 远程链接MySql数据库详解
SQLServer 远程链接MySql数据库详解 by:授客 QQ:1033553122 测试环境: Microsoft Windows XP Professional 版本2000 Service ...
- tar解压包的时候出现错误 gzip: stdin: not in gzip format
在Linux环境下,通过tar -zxvf 命令解压文件时遇到”gzip: stdin: not in gzip format“等错误:如图所示 root@cmfchina:/usr/java# ta ...
随机推荐
- 浅析REGEXP_SUBSTR,PRIOR,CONNECT BY
业务场景 teacher表中的tech_class字段存储的是每个老师所教授的课程,课程之间以英文逗号分隔.现在要用语句统计每个课程对应的教师数量.语句及效果如下: 语句其实很简单,各种博客或者gpt ...
- (Python基础教程之十八)Python字典交集–比较两个字典
Python示例,用于查找2个或更多词典之间的常见项目,即字典相交项目. 1.使用"&"运算符的字典交集 最简单的方法是查找键,值或项的交集,即 & 在两个字典之间 ...
- 基于 JUnit 的全局单元测试程序
在 Java 程序中,JUnit 是备受开发人员喜爱的单元测试工具.通常,程序员会对每个程序的每个模块写单元测试.对于小型程序来说,程序员只需要手工执行这些单元测试程序就可以,工作量并不大,但是对于中 ...
- .NET9 EFcore支持早期MSSQL数据库 ROW_NUMBER()分页
前言 NET程序员是很幸福的,MS在上个月发布了NET9.0RTM,带来了不少的新特性,但是呢,我们是不是还有很多同学软硬件都还没更上,比如,自己的电脑还在跑Win7,公司服务器还在跑MSSQL200 ...
- Lambda【1】-- List相关Lambda表达式使用(上篇)
Lambda在jdk1.8里面已经很好用了,在这里不讲底层的实现,只有简单的用法,会继续补全. 首先一个list我们要使用lambda的话,需要使用它的stream()方法,获取流,才能使用后续的方法 ...
- JAVA WEB和Tomcat各组件概念
概述 本篇文章是https://juejin.cn/post/7055306172265414663,这篇文章的再总结,剔除了与Java安全研究没太大关系的内容,对JAVAWEB中的Servlet.F ...
- 震惊!推荐一款AI驱动的自动化测试神器:TestCraft
在当今快速迭代的软件开发环境中,自动化测试已经成为确保软件质量的重要一环.然而,传统的手动录制和编写测试脚本的方式不仅耗时耗力,还难以跟上敏捷开发的节奏. 本文将为大家介绍一款基于AI技术的自动化测试 ...
- C#中使用IMemoryCache实现内存缓存
1 缓存基础知识 缓存是实际工作中非常常用的一种提高性能的方法. 缓存可以减少生成内容所需的工作,从而显著提高应用程序的性能和可伸缩性. 缓存最适用于不经常更改的数据. 通过缓存,可以比从原始数据源返 ...
- Java基础 —— 集合(二)
Collection 接口 Collection接口常用方法 boolean add(E e):在集合末尾添加元素 boolean remove(Object o):若集合中存在与o相同的元素,则删除 ...
- VS C++ 出现debug assertion failed弹框,怎么定位代码
当VS C++ 出现debug assertion failed弹框时,想定位代码,但是按弹框出现的3个按钮都不能定位代码,这个时候,你需要打开VS界面,暂停调试,然后打开函数调用栈,找到最后执行的函 ...

