我正在尝试通过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?
答案 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;