簡體   English   中英

Python mysql(使用pymysql)無法連接

[英]Python mysql (using pymysql) failing to connect

我正在使用Python Pymysql連接到AWS RDS數據庫。 這些天一直在工作,但是現在我無法連接到數據庫。 但是,當我使用同一台機器和相同的憑據時,它確實通過Mysql工作台連接,但是通過pycharm無法連接。

代碼:

   configParser = ConfigParser.RawConfigParser()
   configFilePath = r'docs/credentials.cfg'
   configParser.read(configFilePath)

   User = configParser.get('aws-config','user')
   Pswd = configParser.get('aws-config','pswd')
   Host = configParser.get('aws-config','hostdps')
   Databs = configParser.get('aws-config','databs')
   db = pymysql.connect(host=Host, user=User, password=Pswd, db=Databs, charset='utf8mb4', cursorclass=pymysql.cursors.DictCursor,local_infile=True)

錯誤:

File "/usr/local/lib/python2.7/dist-packages/pymysql/__init__.py", line 90, in Connect
    return Connection(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/pymysql/connections.py", line 688, in __init__
    self.connect()
  File "/usr/local/lib/python2.7/dist-packages/pymysql/connections.py", line 906, in connect
    self._request_authentication()
  File "/usr/local/lib/python2.7/dist-packages/pymysql/connections.py", line 1114, in _request_authentication
    auth_packet = self._read_packet()
  File "/usr/local/lib/python2.7/dist-packages/pymysql/connections.py", line 961, in _read_packet
    packet_header = self._read_bytes(4)
  File "/usr/local/lib/python2.7/dist-packages/pymysql/connections.py", line 995, in _read_bytes
    "Lost connection to MySQL server during query (%s)" % (e,))
pymysql.err.OperationalError: (2013, 'Lost connection to MySQL server during query ([Errno 104] Connection reset by peer)')

如何確保在生產中不會發生這種情況? (防止將來發生此類故障)。

為什么你不使用這些連接池?
連接池可以自動管理連接,因此可以解決此問題。

您可以嘗試任何python mysql池。
池示例
為此, 此鏈接或直接使用github方便的代碼。 PyMysqlPool

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM