我使用python连接到mysql数据库con = _mysql.connect('localhost', 'dell-pc', '', 'test') 。我编写的程序需要花费大量时间才能完全执行,即大约需要10个小时。实际上,我正在尝试从语料库中读取不同的词。读取完成后,出现超时错误。
con = _mysql.connect('localhost', 'dell-pc', '', 'test')
我检查了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 | +----------------------------+----------+
如何更改默认超时?
做:
con.query('SET GLOBAL connect_timeout=28800') con.query('SET GLOBAL wait_timeout=28800') con.query('SET GLOBAL interactive_timeout=28800')
参数含义(取自Navigator中的MySQL Workbench:实例>选项文件>选项卡“网络”>“超时设置”部分)
顺便说一句:28800秒是8个小时,因此对于10个小时的执行时间,这些值实际上应该更高。