mysql本地版本升级-window

文章资源取自:

 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
4、打开cmd,切换至安装目录的bin目录下
5、 安装mysql 服务,输入mysqld install
6、 初始化data目录,输入 mysqld –-initialize
7、 启动mysql服务,输入 net start mysql

8、自此,mysql已升级完成,在bin下mysql -uroot -proot 登录后如下:

 注意:当升级成功之后,执行sql脚本,可能会报:Table 'performance_schema.session_status' doesn't exist,这是因为以前的data是mysql5.6中的.新装的mysql是5.7的.之间版本不一致导致,解决办法是:
第一步:在管理员命令中输入:
mysql_upgrade -u root -p --force
第二步:重新启动mysql的服务:
net stop mysql
net start mysql

再次运行mysql,就解决了。

9、如果大家是初次解压安装,那么 无密码无法登录,让我们跳过密码登录mysql,同样在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

  1. 无密码登录,同样在cmd中的安装目录的bin目录下,输入mysql –u root –p
  2. Enter password: (直接回车,无需输入)
  3. 重新设置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;

  1. 按照下面步骤,注释或删除掉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

  1. 按照下面步骤,第一次直接查看端口号是失败的,通过重新设置密码,才可以查看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的端口号信息

  1. 修改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

  1. 重复步骤11,查看mysql 端口号,显示修改成功后的端口号
  2. 创建数据库

mysql> create database mydb;

  1. 卸载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




猜你喜欢

转载自blog.csdn.net/chen_lay/article/details/79204312
今日推荐