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 ...
随机推荐
- golang之异步队列Asynq
Asynq[1]是一个Go实现的分布式任务队列和异步处理库,基于redis,类似Ruby的sidekiq[2]和Python的celery[3].Go生态类似的还有machinery[4]和gowor ...
- Tornado框架之模板(三)
知识点 静态文件配置 static_path StaticFileHandler 模板使用 变量与表达式 控制语句 函数 块 目录: 静态文件 static_path 对于静态文件目录的命名,为了便于 ...
- 一文聊清楚Redis主从复制原理
本地缓存带来的挑战 分布式缓存相比于本地缓存,在实现层面需要关注的点有哪些不同.梳理如下: 维度 本地缓存 集中式缓存 缓存量 受限于单机内存大小,存储数据有限 需要提供给分布式系统里面所有节点共同使 ...
- Zcmu-1178
思路: 分析题目要求的就是由2,3,5,7单独相乘或者组合相乘的数字. 所以将数字循环起来相乘,之后结果按从大到小地无重复放进数组当中. 学长 #include<set> #include ...
- Vue.js 组件数据交互
1.前言 本节讲述组件之间如何进行数据交互 2.props属性与非 prop 的属性 父组件通过属性绑定的形式传值给子组件,这种传值分2种 类别 含义 说明 props 子组件本身已经通过props定 ...
- JavaScript 样式操作
1.类名操作 class类名以字符串的形式存储到标签和Dom元素的属性中,标签属性为class,Dom元素属性为className,两个属性是均支持读取和修改,修改其中的一个会同步至另一个属性 cla ...
- Sealos Devbox 使用教程:使用 Cursor 一键搞定数据库开发环境
"诶,你这前后端开发环境怎么搭建这么快?" "用了 Devbox 啊." "不是吧,你怎么在 Cursor 里连接开发环境的数据库,这些都配好了?&q ...
- 要构建此项目,必须安装以下工作负载: wasm-tools
要构建此项目,必须安装以下工作负载: wasm-tools 要安装这些工作负载,请运行以下命令: dotnet workload restore AdminAPP C:\Program Files\d ...
- IOS实现水波纹
IOS实现水波纹 需要实现一个水波纹效果 其实就是画两个正弦函数或者余弦函数的layer在view上面,根据屏幕刷新率来重绘,更新其左右偏移量来让其看起来是在左右移动 具体实现 定义两个layer,用 ...
- ChatGPT生成接口测试用例(二)
5.1.4 自动生成测试数据 测试数据的生成通常是接口测试的一个烦琐任务.ChatGPT可以帮助测试团队生成测试数据,包括各种输入和它们的组合.测试人员可以描述他们需要的数据类型和范围,ChatGPT ...

