文章资源取自:
http://www.jb51.net/article/111208.htm(Win下Mysql5.6升级到5.7的方法)、
https://www.cnblogs.com/huanglong1987/p/6097630.html(Win下Mysql5.7安装详解)
写在前面
MySQL的升级方式分为两种:原地升级和逻辑升级。这两种升级方式,本质没有什么区别的。只是在对数据文件的处理上有些区别而已。原地升级是直接将数据文件进行拷贝,而逻辑升级对数据文件的处理方式是通过逻辑导出导入,需要用到mysqldump。
逻辑升级大家都理解,这种方式在数据量比较大的情况下花费时间比较长。所以今天我们来讲讲原地升级。
原地升级
1.将现有的mysql关闭。使用cmd窗口,进入到mysql目录下面,将mysql服务移除。
1
2
|
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="D:/Software/wookSoftware/MySQL/path/" #Path to the database root datadir="D:/Software/wookSoftware/MySQL/path/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 |
(1) 停止mysql服务,输入net stop mysql
(2) 卸载mysql服务,输入mysqld remove
(3) 设置my.ini,在[mysqld]下添加skip-grant-tables
(4) 安装mysql服务,输入 mysqld install
(5) 启动mysql 服务,输入 net start mysql
- 无密码登录,同样在cmd中的安装目录的bin目录下,输入mysql –u root –p
- Enter password: (直接回车,无需输入)
- 重新设置root用户密码
mysql> use mysql;
Database changed
mysql> update user set authentication_string= password(“在这里输入你的新密码”) where user=”root”;
Query OK,1 rows affected(0.01 sec)Rows matched:1 Changed:1Warnings: 0
mysql> flush privileges;
QueryOK, 0 rows affected (0.00 sec)
mysql> quit;
- 按照下面步骤,注释或删除掉my.ini文件中[mysqld]下的skip-grant-tables,同样在cmd中的安装目录的bin目录下
(1) 停止mysql服务,输入net stop mysql
(2) 卸载mysql服务,输入mysqld remove
(3) 设置my.ini文件,注释或删除[mysqld]下的skip-grant-tables
(4) 安装mysql服务,输入 mysqld install
(5) 启动mysql 服务,输入 net start mysql
- 按照下面步骤,第一次直接查看端口号是失败的,通过重新设置密码,才可以查看mysql端口号,(如果你是第一次使用,请按照下面步骤操作),打开cmd,切换至安装目录的bin目录下,进入mysql,输入mysql –u root –p
Enterpassword: root
mysql> show global variables like ‘port’;
Error: …You must reset your password using ALTER USER statement before executing this statement.
mysql> set password=password(“重新设置新密码”);
Query OK, 0 rows affected (0.03 sec)
mysql> flush privileges;
mysql> show global variables like ‘port’;
显示mysql的端口号信息
- 修改mysql 端口号,同样在cmd中的安装目录的bin目录下
(1) 停止mysql服务,输入net stop mysql
(2) 卸载mysql服务,输入mysqld remove
(3) 设置my.ini文件,在[mysqld]下修改port=8306,添加[client],在[client]下,添加port=8306
(4) 安装mysql服务,输入 mysqld install
(5) 启动mysql 服务,输入 net start mysql
- 重复步骤11,查看mysql 端口号,显示修改成功后的端口号
- 创建数据库
mysql> create database mydb;
- 卸载mysql(可选)
(1) 运行mysql-5.7.10-win32.msi,选择卸载。
(2) 删除安装目录(C:\Program Files\MySQL\MySQL Server 5.7)
(3) 删除注册表信息
[1]. HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/services/eventlog/Application/MySQL
[2]. HKEY_LOCAL_MACHINE/SYSTEM/ControlSet002/services/eventlog/Application/MySQL
[3]. HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/services/eventlog/Application/MySQL