升级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)
下面开始安装:
- 从mysql官网下载mysql5.7.22.选download-》社区-》社区server
——->>> 下载链接 - 解压完成,删除PHPstudy 的mysql根目录(做好数据备份),复制刚下载的内容到PHPstudy 的mysql更目录下;
- 新建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
- 按win+r。输入cmd。目录切换到mysql下的bin目录。
- 执行
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修改初始密码