用户名/密码均正确,远程连接mysql报1045错误解决办法

199 阅读1分钟

结论: 权限出错导致无法远程登录


这个问题貌似会经常出现, 如果对任意客户端开放所有权限, 那么很可能一直正常使用, 某天就突然Access denied了, 不用担心, 如果你能确保用户名密码正确, 那么就改下权限方可解决.


mysql -uroot -p  
# 在本地机器上登录

use mysql;
select * from user
# 查看mysql库的user表, 找到Host字段为%, User字段为你想登录的用户名的权限, 
# 如果清一色的N,N,N....,表明问题就出在这

GRANT ALL PRIVILEGES ON *.* TO '登录用户名(如:root)'@'%' IDENTIFIED BY '登录密码(如:123456)' WITH GRANT OPTION;

# 格式:GRANT 权限 ON 数据库名.表名 TO 用户@登录主机 IDENTIFIED BY "用户密码";@ 
# 后面是访问MySQL的客户端IP地址(或是 主机名) % 代表任意的客户端,如果填写 localhost 
# 为本地访问(那此用户就不能远程访问该mysql数据库了)

FLUSH PRIVILEGES;
# 刷新权限

那么这时再试试吧, 希望对你有帮助