我有一个简单的问题
当我通过python将数据放入本地主机服务器的数据库时,我会执行以下操作
db= MySQLdb.connect("localhost", "root", "pass", "Database")
现在我只为我和我朋友分享的主持人服务器
Cpanel数据库部分的快照如附件所示。
现在我应该在以下代码中输入什么来连接数据库
db= MySQLdb.connect( , , ,)
我试过这个但是失败了]
db= MySQLdb.connect("moeenmh.com","moeenmh_ahmed","<mypass>","moeenmh_ahmed")
我为自己创建的用户是moeenmh_ahmed并拥有密码]
错误为"Access denied for user 'moeenmh_ahmed'@'91.74.98.6' (using password: YES)")
答案 0 :(得分:0)
您的数据库名称必须是全名,而不仅仅是_ahmed
部分。所以它应该是moeemnh_adhmed
。协议应该是'TCP'用于远程连接。
另外,检查是否已为远程连接配置MySQL。所以首先尝试使用以下方式连接到它:
mysql -u moeenmh_ahmed -h moeenmh.com -p
请参阅以下设置权限的答案:https://stackoverflow.com/a/12844804/1431750。引用:
你必须把它作为root:
GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'IP' IDENTIFIED BY 'PASSWORD';
其中IP是您要允许访问的IP,USERNAME是您用来连接的用户
如果您想允许从任何IP访问,只需输入%而不是IP
然后你只需要把
FLUSH PRIVILEGES
或重启mysql服务器,就是这样
答案 1 :(得分:0)
我可以从Cpanel屏幕截图中看到moeenmh_ahmed无法访问moeenmh_ahmed数据库。 您可以在Cpanel文档中看到如何执行此操作: http://docs.cpanel.net/twiki/bin/view/AllDocumentation/CpanelDocs/MySQLDatabases#Define用户权限