80

Python を使用して mysql データベースに接続しました。私が作成しcon = _mysql.connect('localhost', 'dell-pc', '', 'test') たプログラムは、完全に実行するにはかなりの時間がかかります。つまり、約 10 時間かかります。実際、私はコーパスから異なる単語を読み取ろうとしています。読み取りが終了した後、タイムアウト エラーが発生しました。

Mysqlのデフォルトのタイムアウトを確認しました:

+----------------------------+----------+
| Variable_name              | Value    |
+----------------------------+----------+
| connect_timeout            | 10       |
| delayed_insert_timeout     | 300      |
| innodb_lock_wait_timeout   | 50       |
| innodb_rollback_on_timeout | OFF      |
| interactive_timeout        | 28800    |
| lock_wait_timeout          | 31536000 |
| net_read_timeout           | 30       |
| net_write_timeout          | 60       |
| slave_net_timeout          | 3600     |
| wait_timeout               | 28800    |
+----------------------------+----------+

デフォルトのタイムアウトを変更するにはどうすればよいですか?

4

4 に答える 4

66

MySQL 構成ファイルのデフォルト値を変更します ( mysqldセクションのオプションconnect_timeout ) -

[mysqld]
connect_timeout=100

このファイルにアクセスできない場合は、次のステートメントを使用してこの値を設定できます -

SET GLOBAL connect_timeout=100;
于 2013-02-06T10:38:22.637 に答える
17

これは古い質問であることは知っていますが、記録のために、適切な接続オプションを引数として_mysql.connect呼び出しに渡すことによってもこれを行うことができます。例えば、

con = _mysql.connect(host='localhost', user='dell-pc', passwd='', db='test',
          connect_timeout=1000)

キーワード パラメータ (host、passwd など) の使用に注意してください。コードの可読性が向上します。

に渡すことができるさまざまな引数の詳細については、 MySQLdb API ドキュメント_mysql.connectを参照してください。

于 2016-11-14T14:40:40.323 に答える