Mysql登录报1045错误

MySQL在使用root密码登陆报 1045
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
错误可能原因:
1、有空用户的现象,MySQL官方的BUG,优先匹配到空用户
2、权限错误
一、空用户问题解决方法
先修改下mysql的配置文件,设置免密钥登陆:

skip-grant-tables

然后重新启动mysql,
/etc/init.d/mysqld restart

在mysql命令行中执行下面命令:

USE mysql;

Delete FROM user Where User='' and Host='localhost';

FLUSH PRIVILEGES;

执行完后将刚才添加的
skip-grant-tables 注释 然后重新启动mysql

现在再用账号密码登陆就可以登陆进去了。

二、MySQL root权限导致的无法登录

1、同样是修改成免密码登录的方式:

2、重启数据库:
/etc/init.d/mysqld restart

3、更改root权限:

update mysql.user set password=password('root 用户密码') where user='root' and host='localhost';
FLUSH PRIVILEGES;
4、注销跳过密码登录的配置
然后重启mysql数据库,使用root登录就正常了

posted @ 2019-11-19 10:04  大象无形01  阅读(10588)  评论(0编辑  收藏  举报