【MySQL】Windows下mysql5.6升级到5.7的方法

前言

线上的MySQL版本较旧,需要对其进行升级。Mysql的升级方式分为两种:原地升级和逻辑升级。
这两种升级方式,本质没有什么区别的。只是在对数据文件的处理上有些区别而已。
原地升级是直接将数据文件进行拷贝,而逻辑升级是通过逻辑导出导入,需要用到mysqldump。

原地升级
下载最新的mysql5.7压缩包

下载地址:https://dev.mysql.com/downloads/mysql/
下载完解压后会发现,没有data目录和my.ini文件。在这里插入图片描述

停止mysql服务

将现有的mysql服务停止,可以用命令net stop 服务名或者在服务中停止

替换bin和share文件夹

将新版的bin和share文件夹替换旧版的

启动mysql服务

启动mysql服务,可以用命令net start 服务名或者在服务中启动

升级mysql

执行mysql_upgrade -uxxx1 -pxxx2
其中xxx1需要替换为mysql的账户,xxx2替换为对应的密码

注意:期间可能会输出如下图的error,但是随后自动执行了upgrading,如果没有请注意。
在这里插入图片描述
当提示successfully时,表示升级完成。
在这里插入图片描述

升级成功后,再次重启mysql5.7服务

注意要记得重启mysql服务

总结

如果启动失败,可能是:my.ini中,版本5.6的配置,有一些在版本5.7下面已经不能用了。如果有其他问题,可以将MySQL的日志打开,根据具体现象分析。
并且本文针对的是服务名称不改变的方法,如果想要修改服务名称,需要先删除服务再添加,具体的可以查看参考中的文档。

逻辑升级

但是实际情况中,可能不允许直接原地升级,比如mysql版本过旧等,这时候我们需要用通用的升级方式。也就是备份原数据库,安装mysql,再导入的方式。
以下是mysql5.7.30的部署过程,不同版本之间有所区别,以mysql官方文档为准。

备份数据库
替换新的mysql文件

停止服务,将原mysql文件夹下的bin、share、data文件夹删除,复制新的mysql的bin、share,新建data文件夹。

修改my.ini

在最后添加两行
basedir=D:\mysql
datadir=D:\mysql\data

安装新的mysql

管理员身份打开cmd,进入到/mysql/bin下,执行mysqld --initialize --console,注意记录最后生成的临时密码
执行mysqld install
执行net start <原mysql服务名>
执行mysql -uroot -p临时密码

进入mysql命令行后分别执行
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');
SET PASSWORD FOR 'root'@'%' = PASSWORD('123456');
注意其中123456是想要设置的密码

执行exit退出mysql命令行
执行mysql -uroot -p123456
执行create database xxx;
执行use xxx;
执行source 之前备份的sql的路径(比如source E:\bak.sql
等待导入完成

创建新用户(可选)

CREATE USER "root"@"%" IDENTIFIED BY "123456";
grant ALL on *.* to root@"%" identified by "123456";

总结

如果同一台服务器上有多个Mysql,注意登陆时限定端口

参考

Win下Mysql5.6升级到5.7

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值