Python MySQL 连接器访问被拒绝错误
我已经看了所有可能的资料,但就是无法连接到我的mysql服务器。这里是我的代码,挺简单的。(我用xxx隐藏了所有私人信息,其他的都是我得到的原样。)
import mysql.connector
conn = mysql.connector.connect(user='xxxx',password='xxxxx',host='xxxx',db='xxx',port=3306)
登录信息肯定是正确的。我在mysql客户端试过,连接得很好。MySQL服务器托管在dreamhost上。我把数据库用户允许的IP设置成了通配符%.%.%.%,这样任何人都可以连接。我不知道还有什么可能出错。当我在python中尝试连接时,我得到了:
C:\Python33\python.exe D:/Dropbox/python/v2/test.py
Traceback (most recent call last):
File "D:/Dropbox/python/v2/test.py", line 3, in <module>
conn = mysql.connector.connect(user='xxx',password='xxx',host='xxx',db='xxx',port=3306)
File "C:\Python33\lib\site-packages\mysql\connector\__init__.py", line 101, in connect
return MySQLConnection(*args, **kwargs)
File "C:\Python33\lib\site-packages\mysql\connector\connection.py", line 117, in __init__
self.connect(**kwargs)
File "C:\Python33\lib\site-packages\mysql\connector\connection.py", line 383, in connect
self._open_connection()
File "C:\Python33\lib\site-packages\mysql\connector\connection.py", line 350, in _open_connection
self._ssl)
File "C:\Python33\lib\site-packages\mysql\connector\connection.py", line 176, in _do_auth
raise errors.get_exception(packet)
mysql.connector.errors.ProgrammingError: 1044 (42000): Access denied for user 'xxx'@'%.%.%.%' to database 'xxx'
任何帮助都将不胜感激。
1 个回答
1
你需要给这个用户授予权限。可以这样做:
GRANT ALL PRIVILEGES ON *.* TO 'user2'@'localhost' IDENTIFIED BY PASSWORD 'xxxxx'