问题
ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: NO)
解决
1、以MySQL5.7举例,MySQL配置文件在/etc/my.cnf
2、打开配置文件,添加代码 skip-grant-tables 跳过密码登陆 重启MySQL
3、登录后MySQL后,重置密码
4、删除 skip-grant-tables
具体步骤命令如下
1、vi /etc/my.cnf
#在[mysql]标签下,任意行添加一下代码,保存退出
skip-grant-tables #跳过登录验证
2、service mysqld restart #重启mysql,让配置文件生效
3、mysql -uroot -p #登录MySQL,不输密码直接跳过
4、依次输入
use mysql; #切换到mysql数据库下
update user set authentication_string='' where user='root'; #更新root密码为空
flush privileges; #刷新权限
quit; #退出
5、service mysqld restart #再次重启mysql
6、mysql -uroot -p #再次登录MySQL
7、flush privileges; #输入此命令,刷新权限
8、ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; #更改密码,注意替换成自己的密码
9、删除 skip-grant-tables 重启mysql,可验证