06月16, 2010

解决MySQL登录ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)问题

今天在阿里云服务器ECS上CentOS安装了mysql,由于mysql刚刚安装完的时候,mysql的root用户的密码默认是空的,所以我使用命令mysql -uroot或mysql登录mysql,但是出现了如下错误:

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

解决方案:

1.停止mysql数据库:systemctl stop mysqld

2.用以下命令启动MySQL,以不检查权限的方式启动:

mysqld --skip-grant-tables &

此时又报了一个错误:2018-02-01T02:52:55.093724Z 0 [ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!

执行命令:mysqld --user=root --skip-grant-tables &

3.登录mysql:mysql -uroot或mysql

4.更新root密码

mysql5.7以下版本:UPDATE mysql.user SET Password=PASSWORD('123456') where USER='root';

mysql5.7版本:UPDATE mysql.user SET authentication_string=PASSWORD('123456') where USER='root';

5.刷新权限:flush privileges;

6.退出mysql:exit或quit

7.使用root用户重新登录mysql

mysql -uroot -p

Enter password:<输入新设的密码123456>

本文链接:http://chcifung.cn/post/56.html

-- EOF --

Comments