关于MySQL5.7.19 Access denied for user root@localhost

暑假没事买了一个云服务器玩,为了方便直接PHPstudy一键搭建环境,但是目前phpstudy自带数据库是5.5,而且还不是mysql-community-server版本,这我就很不爽了,于是就想安装目前最新的5.7.19。

我觉得我严格按照教程安装完的,但是装完,登录 Access denied for user root@localhost……

但是完成初始化命令mysqld –initialize之后,最后有一句提示 ……temporary password for root ……告诉你root@localhost的临时密码,我反复确认输了几遍,还是 Access denied …..我又去老版本会在/root 里生成一个.mysql_secret文件,里面是临时密码,输进去,还是错。有文章说在mysqld.log里,没找到。

那就只能改密码了

安全模式mysqld_safe…..
bash居然提示我command not found …
网上搜的教程,要么是安全模式,要么是用root权限改,而我root登不进去,mysqld_safe命令没有,穷途末路之时,看到网上有一个没试过的教程

在my.cnf文件的[mysqld]下添加
skip-grant-tables
保存文件
重启MySQL
然后直接mysql -u root登录

居然成功了

之后赶紧改密码
注意:以前mysql.user密码是password字段,现在替换成authentication_string了.
mysql> update mysql.user set authentication_string=PASSWORD(‘123123′) where user=’root’;
Query OK, 1 row affected, 1 warning (0.04 sec)
Rows matched: 1 Changed: 1 Warnings: 1

mysql> flush privileges;
Query OK, 0 rows affected (0.02 sec)

成功

再次登录提示需要修改密码步骤:
step 1: SET PASSWORD = PASSWORD(‘your new password’);

step 2: ALTER USER ‘root’@’localhost’ PASSWORD EXPIRE NEVER;

step 3: flush privileges;
5.7的MySQL和之前的版本有不少改动,一些答案来自于http://xiaorui.cc/2016/01/20/mac下安装mysql5-7遇到默认密码的大坑/

    原文作者:伸手小白
    原文地址: https://segmentfault.com/a/1190000010477272
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞