最近在使用远程登陆mysql时,遇到了一个问题:提示“ERROR 1045 (28000): Access denied for user 'root'@'XXX.XXX.XXX.XXX' (using password: YES)”。
经过查看,发现在连接时所使用的命令为:
mysql -h XXX.XXX.XXX.XXX -u root -p
这个命令看似没什么问题,但是仍然无法连接mysql。
后来我尝试通过本地连接mysql,先使用命令:
mysql -u root -p
并成功登陆了mysql。
然后我拓展了一下这个本地登录命令,加上了-h参数:
mysql -h 127.0.0.1 -u root -p
奇迹出现了,我成功连接了mysql!
综上,我发现上面的远程连接命令所使用的参数-h要指定本地ip地址(例如127.0.0.1),而不是使用外网ip地址。另外,还需要确保防火墙已经关闭或者设置好了允许mysql端口通过。