2017-01-03 8 views
0

Djangoプロジェクトを実行しているときに問題が発生しました(1週間前、プロジェクトが正常に動作し、今日この問題が見つかりました): 私のDjangoバージョンは1.10.2ですPythonバージョン3.5.2では、MySQLバージョンは5.5でubuntu 14.0です。mysql.connector.errors.InterfaceError:EOFパケットの解析に失敗しました

/Users/deja/Virtualenv/python3.5/bin/python3.5 /Applications/PyCharm.app/Contents/helpers/pydev/pydevd.py --multiproc --qt-support --client 127.0.0.1 --port 60850 --file /Users/mozat/project/crawler_management_system/manage.py runserver 0.0.0.0:6380 
pydev debugger: process 81527 is connecting 

Connected to pydev debugger (build 145.1504) 
pydev debugger: process 81528 is connecting 

Performing system checks... 

System check identified no issues (0 silenced). 

You have 13 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions. 
Run 'python manage.py migrate' to apply them. 
January 03, 2017 - 07:55:47 
Django version 1.10.2, using settings 'crawler_management_system.settings' 
Starting development server at http://0.0.0.0:6380/ 
Quit the server with CONTROL-C. 
Internal Server Error:/
Traceback (most recent call last): 
    File "/Users/deja/Virtualenv/python3.5/lib/python3.5/site-packages/mysql/connector/network.py", line 226, in recv_plain 
    chunk = self.sock.recv(4 - packet_len) 
socket.timeout: timed out 

During handling of the above exception, another exception occurred: 

Traceback (most recent call last): 
    File "/Users/mozat/project/crawler_management_system/crawler_management_system/mysql_utility.py", line 32, in open_db 
    raise err 
    File "/Users/mozat/project/crawler_management_system/crawler_management_system/mysql_utility.py", line 28, in open_db 
    yield cursor 
    File "/Users/mozat/project/crawler_management_system/crawler_management_system/views.py", line 40, in select_batch_records 
    cursor.execute(sql.format(table=self.table,times=times)) 
    File "/Users/deja/Virtualenv/python3.5/lib/python3.5/site-packages/mysql/connector/cursor.py", line 515, in execute 
    self._handle_result(self._connection.cmd_query(stmt)) 
    File "/Users/deja/Virtualenv/python3.5/lib/python3.5/site-packages/mysql/connector/connection.py", line 488, in cmd_query 
    result = self._handle_result(self._send_cmd(ServerCmd.QUERY, query)) 
    File "/Users/deja/Virtualenv/python3.5/lib/python3.5/site-packages/mysql/connector/connection.py", line 267, in _send_cmd 
    return self._socket.recv() 
    File "/Users/deja/Virtualenv/python3.5/lib/python3.5/site-packages/mysql/connector/network.py", line 255, in recv_plain 
    errno=2055, values=(self.get_address(), _strioerror(err))) 
mysql.connector.errors.OperationalError: 2055: Lost connection to MySQL server at '127.0.0.1:10189', system error: timed out 

During handling of the above exception, another exception occurred: 

Traceback (most recent call last): 
    File "/Users/deja/Virtualenv/python3.5/lib/python3.5/site-packages/mysql/connector/connection.py", line 710, in reset_session 
    self.cmd_reset_connection() 
    File "/Users/deja/Virtualenv/python3.5/lib/python3.5/site-packages/mysql/connector/connection.py", line 1046, in cmd_reset_connection 
    raise errors.NotSupportedError("MySQL version 5.7.2 and " 
mysql.connector.errors.NotSupportedError: MySQL version 5.7.2 and earlier does not support COM_RESET_CONNECTION. 

During handling of the above exception, another exception occurred: 

Traceback (most recent call last): 
    File "/Users/deja/Virtualenv/python3.5/lib/python3.5/site-packages/mysql/connector/protocol.py", line 267, in parse_eof 
    unpacked = struct_unpack('<xxxBBHH', packet) 
struct.error: unpack requires a bytes object of length 9 

During handling of the above exception, another exception occurred: 

Traceback (most recent call last): 
    File "/Users/deja/Virtualenv/python3.5/lib/python3.5/site-packages/django/core/handlers/exception.py", line 39, in inner 
    response = get_response(request) 
    File "/Users/deja/Virtualenv/python3.5/lib/python3.5/site-packages/django/core/handlers/base.py", line 249, in _legacy_get_response 
    response = self._get_response(request) 
    File "/Users/deja/Virtualenv/python3.5/lib/python3.5/site-packages/django/core/handlers/base.py", line 187, in _get_response 
    response = self.process_exception_by_middleware(e, request) 
    File "/Users/deja/Virtualenv/python3.5/lib/python3.5/site-packages/django/core/handlers/base.py", line 185, in _get_response 
    response = wrapped_callback(request, *callback_args, **callback_kwargs) 
    File "/Users/mozat/project/crawler_management_system/crawler_management_system/views.py", line 99, in mainpage 
    result = batch_record_repo.select_batch_records(times) 
    File "/Users/mozat/project/crawler_management_system/crawler_management_system/views.py", line 41, in select_batch_records 
    return cursor.fetchall() 
    File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/contextlib.py", line 77, in __exit__ 
    self.gen.throw(type, value, traceback) 
    File "/Users/mozat/project/crawler_management_system/crawler_management_system/mysql_utility.py", line 40, in open_db 
    connection.close() 
    File "/Users/deja/Virtualenv/python3.5/lib/python3.5/site-packages/mysql/connector/pooling.py", line 117, in close 
    cnx.reset_session() 
    File "/Users/deja/Virtualenv/python3.5/lib/python3.5/site-packages/mysql/connector/connection.py", line 713, in reset_session 
    self._database, self._charset_id) 
    File "/Users/deja/Virtualenv/python3.5/lib/python3.5/site-packages/mysql/connector/connection.py", line 661, in cmd_change_user 
    self._post_connection() 
    File "/Users/deja/Virtualenv/python3.5/lib/python3.5/site-packages/mysql/connector/abstracts.py", line 695, in _post_connection 
    self.set_charset_collation(self._charset_id) 
    File "/Users/deja/Virtualenv/python3.5/lib/python3.5/site-packages/mysql/connector/abstracts.py", line 654, in set_charset_collation 
    charset_name, collation_name)) 
    File "/Users/deja/Virtualenv/python3.5/lib/python3.5/site-packages/mysql/connector/connection.py", line 869, in _execute_query 
    self.cmd_query(query) 
    File "/Users/deja/Virtualenv/python3.5/lib/python3.5/site-packages/mysql/connector/connection.py", line 488, in cmd_query 
    result = self._handle_result(self._send_cmd(ServerCmd.QUERY, query)) 
    File "/Users/deja/Virtualenv/python3.5/lib/python3.5/site-packages/mysql/connector/connection.py", line 393, in _handle_result 
    return self._handle_eof(packet) 
    File "/Users/deja/Virtualenv/python3.5/lib/python3.5/site-packages/mysql/connector/connection.py", line 344, in _handle_eof 
    eof = self._protocol.parse_eof(packet) 
    File "/Users/deja/Virtualenv/python3.5/lib/python3.5/site-packages/mysql/connector/protocol.py", line 269, in parse_eof 
    raise errors.InterfaceError(err_msg) 
mysql.connector.errors.InterfaceError: Failed parsing EOF packet. 
[03/Jan/2017 07:56:40] "GET/HTTP/1.1" 500 172448 

誰もが同じ問題を抱えていますか?私にいくつか提案してください。

+0

MySQLサーバーを再起動しましたか? –

+0

私の答えをご覧ください。 – JACK

答えて

0

すべて、mysqlとDjangoに問題はありません。それが動作するので、あまりいないデータを持っていた

  SELECT * 
       FROM 
       (SELECT *, 
        @batch_rank := IF(@current_batch = spider , @batch_rank + 1, 1) AS batch_rank, 
        @current_batch := spider 
       FROM deja_crawler.crawl_batch_record 
       where spider in (select distinct spider from deja_crawler.crawl_batch_record where spider like '%_new' or spider like '%_update') 
       ORDER BY spider, create_time DESC) 
       ranked 
      WHERE batch_rank <= 3 

テーブルは、後で、テーブルは巨大になり、アクセス時間コストはほとんど30代ですが、:それは、私は、MySQLにアクセスするために、複雑なSQLを使用してのためです接続タイムアウトは20秒に設定されているため、タイムアウトエラーが発生します。

関連する問題