更新时间:2022-09-14 15:08:33
项目中需要用到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)
下面开始安装:
[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
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修改初始密码