Mysql版本升级

Mysql的升级方式分为两种:原地升级逻辑升级

这两种升级方式,本质没有什么区别的。只是在对数据文件的处理上有些区别而已。

原地升级是直接将数据文件进行拷贝,而逻辑升级对数据文件的处理方式是通过逻辑导出导入,需要用到mysqldump。 

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

 

原地升级

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

C:UsersAdministratormysql5.6in>mysqld --remove mysql56
Service successfully removed.

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

最新的mysql5.7的压缩包解压开你会发现,没有data目录和my.ini文件。

data目录中是存的数据库文件,不建议将之前版本的data目录复制进来,经测试 这样做后期数据库服务无法启动

后面会提到当 mysql服务无法启动 服务没有报告任何错误 解决方法

三.手动创建配置文件,文件名为:my.ini,添加内容如下:

可复制文本如下:

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8

[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:\toolsmysql-5.7.25-winx64
# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错
datadir=D:\toolsmysql-5.7.25-winx64data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

  

四.将要升级的数据库的服务添加到win的服务队列中 并启动服务

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

D:	oolsmysql-5.7.25-winx64in>mysqld --install mysqld 
Service successfully removed.
install 后面写的服务名看 bin目录下的mysql的应用程序是什么 我的是mysqld

2.启动mysql服务

D:	oolsmysql-5.7.25-winx64in>net start mysqld
mysqld 服务正在启动 ..
mysqld 服务已经启动成功。

五.升级mysql:mysql_upgrade -uroot -p

D:	oolsmysql-5.7.25-winx64in>mysql_upgrade -uroot -p

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

D:	oolsmysql-5.7.25-winx64>net stop mysqld
mysqld 服务正在停止. 
mysqld 服务已成功停止。
D:	oolsmysql-5.7.25-winx64in>net start mysqld 
mysqld 服务正在启动 .. 
mysqld 服务已经启动成功。

  

 

原文地址:https://www.cnblogs.com/dahaoran/p/12844374.html