PhpStudy升级MySQL5.5到5.7记录

我只是一个虾纸丫 提交于 2019-12-04 16:23:11

1.下载mysql 5.7 https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.25-winx64.zip

2.备份目前的数据库数据,可以导出数据库文件,作为备份。

3.备份 PhpStudy 下的 MySQL 文件夹、以防升级失败、还可以使用旧版本5.5的数据库。

4.将下载的压缩包解压到PhpStudy/MYSQL。

5.新建PhpStudy/MYSQL/my.ini文件(这个压缩包没有my.ini需要新建,如果已有,就不用),修改这两项

basedir="D:/phpStudy/MySQL/"

datadir="D:/phpStudy/MySQL/data/"

文件配置如下

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8 
[mysqld]
skip-grant-tables
#设置3306端口
port = 3306 
# 设置mysql的安装目录
basedir="D:/phpStudy/PHPTutorial/MySQL/"
# 设置mysql数据库的数据的存放目录
datadir="D:/phpStudy/PHPTutorial/MySQL/data/"
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
default-storage-engine=INNODB
default-storage-engine=INNODB

6.以管理员的身份运行cmd、进入MySQL目录,运行

> mysqld --initialize

> mysqld -install

这里可能出错:安装 mysql出现 Install/Remove of the Service Denied!

原因:命令行没有以管理员权限打开

解决方法:打开cmd.exe程序的时候选择“用管理员身份打开”,再运行mysqld install即可,win10打开方法:定位到桌面左下角的搜索按钮,然后输入cmd搜索,右键-》以管理员身份运行

 

7.启动mysql服务: D:\phpStudy\PHPTutorial\MYSQL\bin>net start mysql

8.设置密码    mysqladmin -u root -p password root

点击enter,再点击enter。

然而我这边点 enter 之后是报错,也登录不了mysql

怎么输密码都不行

 

9.好事多磨,只能按修改root 密码的方式重新设置密码了。

 

10.停止mysql服务net stop mysql

11.my.ini 开启skip-grant-tables

12.用安全模式打开,mysqld --skip-grant-tables

这个时候,光标会一直闪。注意,不要动,打开另一个命令行窗口。

13.和前面一样的操作来到bin目录下,登录 mysql -u root -p

密码为空,直接回车;就可以进去了

14.修改root密码,然后刷新权限,退出,再用密码登录,可以成功登录。欧耶!

mysql> update mysql.user set authentication_string=password("root") where user="root";

mysql> flush privileges;

mysql> quit;

D:\phpStudy\PHPTutorial\MYSQL\bin>mysql -u root -p

15.可是执行sql语句的时候还是会报错,使用phpMyAdmin管理工具也无法登录,显示错误:#1862 无法登录 MySQL 服务器

ERROR 1820 (HY000): You must SET PASSWORD before executing this statement 

16.登录mysql -》执行sql 查看

D:\phpStudy\PHPTutorial\MYSQL\bin>mysql -u root -p

mysql> select 1;

17.重置mysql 的root 密码

mysql> set password = password('root');

mysql> alter user 'root'@'localhost' password expire never;

mysql> flush privileges;

mysql> quit;

18.搞定,收工,吹牛逼,注释my.ini的skip-grant-tables。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!