我需要连接到服务器上的一个MySQL数据库,我无法通过防火墙访问该数据库。 不过,我可以通过SSH访问另一台服务器,这个服务器可以通过我的目标服务器上的防火墙。
我SSH'd到后者(让我们说host1),然后我试图执行以下命令:
mysql --host=host2 --user=username --password=password
我得到以下回应:
Access denied for user 'username'@'host1' (using password: YES)
为什么它试图连接到host1(即本身)?
注意:我在这里的任何地方都不使用localhost 。
你误解了这个错误,就是说从host1连接的用户username被拒绝访问。 错误来自host2 。
该错误实际上是说“您正在尝试使用来自 host1 username ”。
您需要在host1上添加username权限。 你可以发布SHOW GRANTS FOR 'username'而以host2身份login到MySQL?
编辑:Ninja'd 🙂
我有这个错误,因为我用于数据库的密码错误。 这是MySQL的版本是5.1.61的情况。
所以确保你的数据库的密码是正确的。