升级PHPstudy自带的mysql版本 从5.5升级到5.7.22

升级PHPstudy自带的mysql版本

升级之前做好数据库backup

项目中需要用到datetime用 CURRENT_TIMESTAMP 由于phpstudy默认的mysql版本是5.5,不支持CURRENT_TIMESTAMP作为默认值,出现以下报错:

TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details)

下面开始安装:

  1. 从mysql官网下载mysql5.7.22.选download-》社区-》社区server这里写图片描述
    这里写图片描述
    ——->>> 下载链接
  2. 解压完成,删除PHPstudy 的mysql根目录(做好数据备份),复制刚下载的内容到PHPstudy 的mysql更目录下;
    mysql跟目录
  3. 新建mysql.ini文件;
[mysqld]


port = 3306

basedir=E:/software/phpstudy/path-2018/PHPTutorial/MySQL/

datadir=E:/software/phpstudy/path-2018/PHPTutorial/MySQL/data/

max_connections=200

character-set-server=utf8

default-storage-engine=INNODB

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES


[mysql]

default-character-set=utf8
default-character-set=utf8
default-character-set=utf8
  1. 按win+r。输入cmd。目录切换到mysql下的bin目录。
  2. 执行
mysqld  --initialize 
mysqld -install

这里写图片描述
4. 重启:net start mysqld
5. mysql -uroot -p. 需要密码这里写图片描述
6. 停掉mysql。net stop mysqld.切换到bin目录输入命令,免密码登陆:mysqld --defaults-file="E:\software\phpstudy\path-2018\PHPTutorial\MySQL\my.ini" --console --skip-grant-tables waring先忽略。听说在my.ini里也可以设置,我设置没成功。
这里写图片描述
7. 开另一个dos window,输入命令:mysql -uroot -p, 然后enter。
这里写图片描述
8. 改变默认的root用户密码值:

命令:

use mysql
UPDATE user SET Password=PASSWORD('newpassword') where USER='root';

发现报错。下图:
这里写图片描述
查询下字段:
select * from user \G;
这里写图片描述
这里写图片描述

找到密码字段: authentication_string。5.7密码是这个字段,不是password
9. 那就愉快的修改:
update mysql.user set authentication_string=password("123456") where user="root" and Host = "localhost";
flush privileges;

success:
这里写图片描述
10. 不用navicate是不可能的:
打开,连接,报错:
这里写图片描述

做法:

step 1: SET PASSWORD = PASSWORD('your new password');
step 2: ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
step 3: flush privileges;

这里写图片描述

然后就没然后了,成功了!

欢迎拍砖~
参考文档:MySQL 5.7版 解决密码登录失败
windows下Mysql5.7.11修改初始密码

猜你喜欢

转载自blog.csdn.net/qq_32534555/article/details/80814794