我最近构建了一个PHP API(基于Slim),允许我的Android应用程序远程访问MySql数据库。
API中的所有内容都经过测试并准备好在本地运行,但现在我已将其上传到服务器,我不断收到“访问被拒绝用户'user'@'box431.bluehost.com'(使用密码:是)“错误,'用户'是我正确的数据库用户名。
我尝试删除该用户并创建一个具有所有权限的新用户,但无效,我的配置文件中的凭据 - 数据库名称,用户名,密码和主机 - 也是正确的。 BlueHost无法再帮助我,所以现在我求助于SO。
知道还有什么可能是错的吗?我真的只知道如何通过cPanel访问所有这些实用程序,因此通过该视图(或者如果需要硬编码更改的指导)的任何建议都会有所帮助。
谢谢!
答案 0 :(得分:1)
事实证明,解决方案非常简单!我的配置文件的主机名设置为实际的IP地址,但它应该是“localhost”,因为Web服务和数据库位于同一服务器上。咄。希望这个小细节至少对那里的任何人都有帮助!
答案 1 :(得分:0)
我不确定如何使用cPanel实现这一点,但我认为你出错的地方是mySQL用户尚未配置为远程访问。您可以在mySQL CLI中使用以下语法。
GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' IDENTIFIED BY 'YourPassword' WITH GRANT OPTION;
您需要按照以下步骤进行操作;
FLUSH PRIVILEGES;
正如Giles在他的评论中指出的那样,这不是特别安全,你最好创建一个Web服务来操纵数据库。