2014-04-02 41 views
1

我有一个简单的问题,请蟒蛇连接到未连接

当我通过Python把数据放到本地主机服务器的数据库,我这样做

db= MySQLdb.connect("localhost", "root", "pass", "Database") 

数据库现在,我刚才一hostgator服务器,我和我的朋友分享

Cpanel的数据库部分的快照是附加的。

enter image description here

现在我应该怎么下面的代码连接到数据库输入

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

您确定您正在使用mysql数据库的'password'或您的'account'密码吗?托管服务大多数时间提供与您的Web应用程序或帐户相关的用户名和密码。但帐户密码和mysql密码不同。你可能想检查一下。 – Xk0nSid

+0

我正在使用我创建的用户的密码。另一个通行证是Cpanel的密码 – user3265370

+0

这显然是某种访问权限问题。你可能可以contact Hostgatr技术支持,因为他们会知道什么样的访问权限给出,以及在什么情况下访问被拒绝,因为他们知道服务器配置,而我们不知道。它可能有帮助。另外尝试SSH到您的主机(如果授予权利),并尝试使用MySQL命令行程序登录到数据库。如果它在那里工作,那么显然你没有远程访问。 – Xk0nSid

回答

0

您的数据库名称必须是全名,而不仅仅是_ahmed部分。所以它应该是moeemnh_adhmed。对于远程连接,协议应该是'TCP'。

另外,检查您是否配置了MySQL远程连接。所以首先尝试连接到它使用:
mysql -u moeenmh_ahmed -h moeenmh.com -p

并看到这个SO回答设置权限:https://stackoverflow.com/a/12844804/1431750。引用:

你必须把这个作为根:

GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'IP' IDENTIFIED BY 'PASSWORD'; 

其中IP是要允许接取和USERNAME的IP是用户用来连接

如果你想允许只是把%,而不是你的IP

的任何IP接入,然后你只需要放

FLUSH PRIVILEGES 

或重新启动MySQL服务器,这就是它

+0

我应该在哪里放这个命令?在终端? mysql -u moeenmh_ahmed -h moeenmh.com -p – user3265370

+0

可以指导我如何通过终端进入myswl吗? – user3265370

+0

你在什么操作系统上? Windows上有'cmd' /命令提示符。在Linux上,“终端”应该在你的菜单中。 – aneroid