我需要连接到一台我无法通过防火墙访问的服务器上的 MySQL 数据库。但是我可以通过目标服务器上的防火墙通过 SSH 访问另一台服务器。
我已经通过 SSH 进入后者(假设为 host1),然后尝试执行以下命令:
mysql --host=host2 --user=username --password=password
我收到以下回复:
Access denied for user 'username'@'host1' (using password: YES)
为什么它尝试连接 host1(即它自己)?
注意:我这里没有使用localhost
任何地方。
答案1
您误解了错误,它说的是username
来自 的用户连接host1
被拒绝访问。错误来自host2
。
答案2
该错误实际上是说“你正在尝试使用username
从 host1
“。
您需要在username
上添加权限host1
。您能SHOW GRANTS FOR 'username'
以 root 身份登录 MySQL 后从发帖吗host2
?
編輯:忍者:)
答案3
我之所以出现此错误,是因为我为数据库使用了错误的密码。mysql 的版本是 5.1.61。
因此请确保你的数据库密码正确。