我在本地开发环境中运行rails,但mysql实例位于单独的服务器上。
尝试在应用中打开网页时出现此错误:
Access denied for user 'username'@'myhostname.lan' (using password: YES)
当我进入运行mysql的服务器并运行此命令SELECT Host from mysql.user WHERE User='username';
时,我得到以下内容:
+---------------------+
| Host |
+---------------------+
| % |
| myhostname.lan |
| localhost |
+---------------------+
所有这些条目都是使用GRANT ALL PRIVIELEGES ON dbname.* TO ...
那么为什么我不能连接,因为任何主机通配符%都在列表中,以及我尝试连接的主机名?
答案 0 :(得分:1)
尽管具有相同的用户名,但这些用户对于mysql是不同的。 检查是否在所有用户条目上设置了密码,这是您期望的密码。
您可以比较authentication_string
中的mysql.user
。