python pymysql连接数据库pymysql.err.OperationalError 1044

错误详细过程

>>> import pymysql

>>> conn = pymysql.connect(host='192.168.88.95',user='analyze',password='analyze*&g0$X!$S',db='analyze',port=52541, charset='utf8')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib64/python2.7/site-packages/pymysql/__init__.py", line 90, in Connect
    return Connection(*args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/pymysql/connections.py", line 704, in __init__
    self.connect()
  File "/usr/lib64/python2.7/site-packages/pymysql/connections.py", line 974, in connect
    self._request_authentication()
  File "/usr/lib64/python2.7/site-packages/pymysql/connections.py", line 1203, in _request_authentication
    auth_packet = self._read_packet()
  File "/usr/lib64/python2.7/site-packages/pymysql/connections.py", line 1059, in _read_packet
    packet.check_error()
  File "/usr/lib64/python2.7/site-packages/pymysql/connections.py", line 384, in check_error
    err.raise_mysql_exception(self._data)
  File "/usr/lib64/python2.7/site-packages/pymysql/err.py", line 109, in raise_mysql_exception
    raise errorclass(errno, errval)
pymysql.err.OperationalError: (1044, u"Access denied for user 'analyze'@'192.168.88.%' to database 'analyze'")

>>> 

错误原因

大多数pymysql.err.OperationalError报错的错误码是1045,所以查出来的解决方法多是需要给IP或者账号赋权,被误导了好长时间;最终原因是连接时指定的DB库名错误,开发过程中的习惯是用户名和库名一致,这次DBA给的账号不一致,导致习惯性黏贴出错。

猜你喜欢

转载自blog.csdn.net/haidibeike/article/details/80509517
今日推荐