当前位置:主页 > 数据库 > Mysql >

Win下Mysql5.6升级到5.7的方法

时间:2021-08-05 08:32:29 | 栏目:Mysql | 点击:

写在前面

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

逻辑升级大家都理解,这种方式在数据量比较大的情况下花费时间比较长。所以今天我们来讲讲原地升级。

原地升级

1.将现有的mysql关闭。使用cmd窗口,进入到mysql目录下面,将mysql服务移除。

X:\Ares\bin\mysql5.6\bin>mysqld --remove mysql5.6
Service successfully removed.

2.下载最新的mysql5.7压缩包。

下载地址:https://dev.mysql.com/downloads/mysql/

最新的mysql5.7的压缩包解压开你会发现,没有data目录和my.ini文件,跟之前的版本不一样。

这里写图片描述

3.将之前mysql5.6的data目录和my.ini文件拷贝至mysql5.7下。

这个地方要注意:my.ini中,版本5.6的配置,有一些在版本5.7下面已经不能用了。

将mysql.ini文件配置做以下修改。

[mysqld]
# 设置mysql的安装目录[根据本地情况进行修改]
basedir = X:/Ares/bin/mysql
# 设置mysql数据库的数据的存放目录[根据本地情况进行修改]
datadir = X:/Ares/bin/mysql/data
#设置3306端口
port = 3306
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8

4.将mysql5.7的服务添加到win的服务队列中,并且启动mysql服务。

将mysql5.7的服务添加到win的服务队列中

X:\Ares\bin\mysql5.7\bin>mysqld --install mysql5.7
Service successfully removed.

启动mysql服务

X:\Ares\bin\mysql5.7\bin>net start mysql5.7
mysql5.7 服务正在启动 ..
mysql5.7 服务已经启动成功。

5.升级mysql:mysql_upgrade -uroot -p

X:\Ares\bin\mysql5.7\bin>mysql_upgrade -uroot -p123
.......省略一万字..........

升级速度具体看data目录的大小情况而定。

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

X:\Ares\bin\mysql5.7\bin>net stop mysql5.7
mysql 服务正在停止.
mysql 服务已成功停止。
X:\Ares\bin\mysql5.7\bin>net start mysql5.7
mysql5.7 服务正在启动 ..
mysql5.7 服务已经启动成功。

7.安装升级完成。

您可能感兴趣的文章:

相关文章