这让我发疯好几天了。我用cPanel创建了一个带有用户的数据库,并启用了所有特权复选框。
现在,每当我尝试访问我的数据库时,它都无法工作,错误日志显示:
PDO异常:拒绝用户的SQLSTATEHY000访问
graphgr1_mhazaa'@'localhost‘(使用密码: YES)
我尝试从命令行本地访问数据库。
mysql -u myUsername -pMyPassword -h remoteHostIP -D databaseName它显示:
'username'@'c-174-53-152-193.hsd1.mn.comcast.net‘错误1045 (28000):拒绝用户访问(使用密码: YES)
我甚至尝试以root的身份访问数据库。
mysql.exe -u root -h remoteHostIp -D databaseName同样的信息。我很确定我的拼写/名字都是正确的,并且在不同的电脑上也试过了。那有什么问题吗?
发布于 2018-06-26 10:38:09
PDO异常:拒绝用户‘graphgr1_mhazaa'@'localhost’的SQLSTATEHY000访问(使用密码: YES)
要从cPanel帐户中的脚本连接到数据库,也要连接到cPanel帐户中的数据库,只需
要在本地连接,需要从您自己的计算机连接到cPanel承载的数据库:
cPanel宿主MySQL的工作方式是,它要求所有MySQL连接都来自授权的IP地址。
允许您将脚本从cPanel帐户连接到cPanel宿主数据库的是,服务器的IP地址已经存在于远程MySQL工具中。
使用SSH,您只需使用
mysql -u YOUR_USER -p YOUR_DATABASE ## MySQL added User connection, sees only databases it has access to
mysql -u cPanel_USER -p ## cPanel User connection, sees all databases added in your cPanel account发布于 2019-01-14 15:53:22
我对此有一点不同的看法。
通过在cpanel中生成SSH密钥并将此( id_rsa文件)复制到我的Mac上,我成功地使用了Mac笔记本上的Sequel访问了我的id_rsa数据库。
除非您将此文件的权限更改为400,否则它将无法工作。
chmod 400 filename然而,一旦Sequel Pro开始工作,我就尝试使用pymsql通过python读取我的数据库。
这导致了无数的问题,并将错误的几个变体抛在了讨论之中。
在对终端窗口中的mysql做了大量修改之后,我放弃了,转而求助于一个本地UNIX专家,他想出了以下解决方案。
在终端类型中
ssh -i id_rsa -L 3307:yourcpanel.hosted.xxx:3306 yourcpanelusername@your cpanel.hosted.xxx -N欲了解更多信息,请搜索“ssh端口只转发没有shell”
据我所知,它在Mac上打开一个本地端口号3307,并使用id_rsa键连接到端口3306上的cpanel,并且不允许命令。一旦这个启动并运行..。
在您的python代码中,请在以下方面使用一些变体
db = pymysql.connect(host=DB_HOST, user=DB_USER, passwd=DB_PWD, db=DB_NAME, port=DB_PORT) 其中DB_HOST =‘localhost’,DB_USER =您的cpanel数据库用户名,DB_PWD =您的数据库密码,DB_NAME = cpanel数据库的名称,DB_PORT = 3307
https://stackoverflow.com/questions/51036909
复制相似问题