出现 ERROR 1045 (28000): Access denied for user ‘mha’@‘10.0.8.25’ (using password: YES) 的一种特殊情况
背景:
1、Mysql版本:5.7.14
2、条件:部署mysql一主两从,主从已经配置成功
主库地址:10.0.8.24
从库地址:10.0.8.25,10.0.8.26
3、需求:主库能远程连上从库
问题:
在远程连接的时候出现如下报错(10.0.8.24为主库地址)
$ mysql -h 10.0.8.25 -umha -p
Enter password:
ERROR 1045 (28000): Access denied for user ‘mha’@‘10.0.8.25’ (using password: YES)
排查:
查看网上资料,定位的都是没创建 username@’%’ 或者 username@‘10.0.8.25’ 账号导致不能授权登录,但是我在主库上已经创建了这个用户和主机
原因:
用户授权冲突导致:
主库授权命令如下:
> grant all on *.* to mha@'%' identified by 'mha';
> grant all on *.* to mha@'10.0.8.%' identified by 'mha';
> grant all on *.* to mha@'10.0.8.24' identified by 'mha';
> grant all on *.* to mha@'10.0.8.25' identified by 'mha';
> grant all on *.* to mha@'10.0.8.26' identified by 'mha';
解决办法:
在主库删除用户
> drop user mha@'10.0.8.24'
> drop user mha@'10.0.8.25'
> drop user mha@'10.0.8.26'
这里如果单单删除指定IP对应的用户还不行,可以继续删除主机是%或者10.0.8.%的用户,保留一个即可
验证
在从库再执行远程登录就成功了
好了,这就是ERROR 1045 (28000): Access denied for user ‘mha’@‘10.0.8.25’ (using password: YES)的解决办法了,如有问题可与博主一起交流讨论!