1、问题描述
全新安装的 MySQL,使用 phpMyAdmin 无法登录,报:
1 | ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) |
2、解决方法
2.1、配置免密登录
在配置文件my.cnf
中添加:
1 | skip-grant-tables |
然后重启 MySQL:
1 | /etc/init.d/mysqld restart |
2.2、删除空用户
执行:
1 | mysql -uroot -p<password> |
<password>
改为 root 密码,登录到 MySQL 命令行,执行:
1 | USE mysql; Delete FROM user Where User='' and Host='localhost'; FLUSH PRIVILEGES; |
2.3、设置权限
如果是 MySQL 5.6及以下:
1 | UPDATE mysql.user set password=password('root <password>') WHERE user='root' AND host='localhost'; FLUSH PRIVILEGES; |
<password>
改为 root 密码。
如果是 MySQL 5.7及以上:
1 | update user set authentication_string='' where user='root'; ALTER user 'root'@'localhost' IDENTIFIED BY '<password>'; FLUSH PRIVILEGES; |
<password>
改为 root 密码。
2.4、关闭免密登录
在my.cnf
中删除
1 | skip-grant-tables |
重启数据库:
1 | /etc/init.d/mysqld restart |
解决 MySQL 使用 root 用户无法密码登录
评论