mysql升级mysql5.7.22记录

1. 软件下载地址

https://dev.mysql.com/downloads/mysql/5.7.html#downloads

2. 解压放在一个目录中,此时解压后没有data文件和my.ini文件

3. 在目录下创建my.ini文件,内容如下

[mysqld]

port = 3306

basedir=D:MySQLMySQL Server 5.7.22

datadir=D:MySQLMySQL Server 5.7.22data

max_connections=200

character-set-server=utf8

default-storage-engine=INNODB

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[mysql]

default-character-set=utf8

备注:红色部分是basedir是mysql的路径,datadir是mysql数据存放的路径

4. 配置环境变量:

在path后追加D:MySQLMySQL Server 5.7.22in

5. 管理员身份运行cmd,进入到mysql bin目录下

运行命令: (此命令会生成data目录,并且比较慢,耐等..)

mysqld --initialize

运行命令:(安装mysql服务)

mysqld -install

运行命令:(启动mysql服务)

net start mysql

--------------------------------------------------------------------------------------------------------------------------------

如果此时启动出错(没有报错的不用看),并且报的是 错误1053:服务没有及时响应启动或控制请求

解决方法:找到服务—MySQL—右键选择MySQL—属性—登录—此账户—用户名写你的服务器用户名,密码写你的服务器密码—应用—确定(先不要着急启动

这个时候再选择MySQL—属性—将启动类型改为禁用—应用—确定

再次选择MySQL—属性—将启动类型改为自动—应用—确定

---------------------------------------------------------------------------------------------------------------------------------

6. 服务启动成功之后,进入mysql bin目录,输入mysql -u root -p 回车,

出现 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

发现密码错误,不要慌。这是安装时mysql默认给你生成密码(我找半天也没找到密码在哪)

解决方法:

(1) 关闭服务net stop MySQL

(2) 用安全模式打开:mysqld --skip-grant-tables

注:这个时候不要动,光标一直会闪,也不要关闭窗口,重新打开一个新的窗口,一样来到bin目录下,输入:mysql -u root -p

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

(3) 然后输入命令:use mysql;

update user set authentication_string=password("123456") where user="root";

flush privileges;

(4) 最后重新登录一下。发现启动失败,原因是mysqld进程还开着呢,打开任务管理器,kill掉mysqld.exe进程。最后成功修改了密码。

7. mysql启动成功,密码也修改成功后,项目连接数据库启动失败,不要慌。

错误:[Err] 1682 - Native table 'performance_schema'.'session_status' has the wrong structure

这个问题出现的原因是我mysql升级版本的原因。

解决方法:只需要在root用户下执行以下命令即可

mysql_upgrade -u root -p --force

service mysql restart

8. 接下来可以正常使用了。

原文地址:https://www.cnblogs.com/hsjava1/p/9395954.html