记录MySQL5.5升级5.7
解决方法:升级版本
前言
在我导入sql时就已经被提前告知导入会报错是因为版本问题,实际也报错了,所有才会想办法升级版本,我的是MySQL5.5版本升级版本到5.7.43
场景说明
大致步骤:
-
把5.7下载并解压(路径自定义)
- 在解压的根目录新建一个 data 文件夹和一个 my.ini 文件
- 把之前的MySQL环境变量删了,换成现在已经有的MySQL5.7的环境变量
- 把MySQL服务停止
- 删除 MySQL 服务
- 添加 MySQL5.7 服务
- 启动MySQL服务
- 升级 MySQL 数据库到当前安装的 MySQL 版本
- MySQL5.7服务重新启动
- 查看MySQL版本
把5.7下载并解压(路径自定义)
https://dev.mysql.com/downloads/mysq
在解压的根目录新建一个 data 文件夹和一个 my.ini 文件
my.ini 文件里面的配置信息复制粘贴就可以。
但是 basedir 和 datadir 需要根据自己的情况来设定
[mysqld]
#设置3306端口号
port=3306
#设置MySQL的安装目录(根据自己的路径设定)
basedir="C:\Program Files\MySQL\mysql-5.7.43-winx64"
#设置MySQL数据库的数据存放目录(一般来说这个不动直接引用之前的就可以)
datadir="C:\ProgramData\MySQL\MySQL Server 5.5\data"
#运行最大连接数
max_connections=200
#运行连接失败的次数。这也是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
#服务端使用的字符集默认为utf-8
character-set-server=utf8
[mysql]
#客户端使用的字符集默认为utf8
default-character-set=utf8
[client]
#客户端默认端口号为3306
port=3306
在这里说一下 datadir 是存放数据库文件的地方
我是直接引用MySQL5.5数据库文件默认的位置,因为这里存放着建立的一些MySQL5.5的数据库文件:
把之前的MySQL环境变量删了,换成现在已经有的MySQL5.7的环境变量
指引路径到 MySQL 5.7 的 bin 目录
用管理员运行cmd ,
输入命令 net stop MySQL 把MySQL服务停止
在cd 到MySQL5.5版本的根目录
C:\Windows\system32> cd C:\Program Files\MySQL\MySQL Server 5.5\
输入命令 mysqld --remove MySQL5.5 回车,该命令是删除 MySQL 服务
如果报错
在任务管理器–> 服务,找到MySQL,查找一下具体的MySQL服务名
( 这里是我已经完成后的MySQL服务名称)
(我的移除之前是MySQL,所以下remove mysql5.5时,报 not exist )
在 cd 切换到自己解压的目录的 bin 目录
输入命令 mysqld --install mysql5.7 ,该命令是添加 MySQL 服务
(mysql5.7 是我的自定义名字)。
输入命令 net start mysql5.7 ,启动MySQL服务
再输入命令 mysql_upgrade -uroot -p 回车再输入自己的密码
该命令用于升级 MySQL 数据库到当前安装的 MySQL 版本。它会检查数据库中的表,并根据当前安装版本的需求进行必要的更新或修复 在这个具体的命令中,-uroot 表示登录用户名是 root,-p 表示输入用户密码。// 该词条来自ai 回答
再把服务重新启动
输入命令
net stop mysql5.7 停止服务 。
net start mysql5.7 启动服务。
打开客户端输入 查看自己的版本
到此已经成功升级完成
有错误还望指出
我也看一些教程,是把MySQL5.5 的 data 文件夹 和 my.ini 复制 粘贴到MySQL5.7 ,但是我在后续步骤出问题了,又根据这个错误信息查找解决方法,然后 解决错误 又有命令执行不成功 。
烦啊 /_ \
我也是看了很多本地升级方法,但是不完全适用,卡了我两天,卡的我有些浮躁,直接把新版本解压的目录删了,重新解压一遍,然后新建一些必要的文件,在根目录新建一个data 目录 和 my.ini 文件 ,my.ini文件的信息也是从网上复制的再稍微改改 。弄着弄着就完成了。所以来分享我的解决方法