MySQLdb错误1130:没有获得正确的服务器IP

时间:2013-07-19 16:57:26

标签: python mysql mysql-python

我正在尝试通过python脚本连接到mysqldb。我已经将my.cnf中的bind-address更改为'192.168.56.101',这是我的服务器ip。

import MySQLdb

db = MySQLdb.connect(host='192.168.56.101',
                     user='root',
                     passwd='pass',
                     db='python')

上面的代码给出了以下错误。

_mysql_exceptions.OperationalError: (1130, "Host '192.168.56.1' is not allowed to connect to this MySQL server")

我的ip'192.168.56.101'是'192.168.56.1'? 我也尝试过这个:

mysql -u nilani -p pass -h 192.168.56.101

它也会出现同样的错误,

ERROR 1130 (HY000): Host '192.168.56.1' is not allowed to connect to this MySQL serve

为什么它无法正确识别我的IP?

1 个答案:

答案 0 :(得分:4)

这是服务器端缺少权限。

MySQL不允许root用户从网络上的其他计算机进行连接。 IP 192.168.56.1可能是您自己机器的IP。

要创建可以从其他计算机登录的用户,请参阅以下问题:Host 'xxx.xx.xxx.xxx' is not allowed to connect to this MySQL server

它涉及为服务器上的localhost和远程主机访问创建单独的用户(取自链接问题):

mysql> CREATE USER 'monty'@'localhost' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'
    ->     WITH GRANT OPTION;
mysql> CREATE USER 'monty'@'%' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%'
    ->     WITH GRANT OPTION;