Re: [系統] 請問一下MySQL和python的連接關係
※ 引述《chigi ()》之銘言:
: 這個問題是從
: OperationalError: (2006, 'MySQL server has gone away')
: 來的,
: 我把錯誤訊息拿進google去查了一下,
: 說大部分都是因為timeout之後,connect就掛了,而新版的MySQL的某個flag預設為0
: 詳見http://mclee.foolme.net/2007/01/mysql-server-has-gone-away.html
: 我的問題在於,對於Python的MySQL套件(MySQLdb, build on py2.5)
: 只能使用 MySQLdb.connect(host, ..) 做連接,
: 那mysql_real_connect又是怎麼使用呢?
你需要看兩份文件, 而且建議你找文件首先從英文下手,
第一份是
http://dev.mysql.com/doc/refman/5.0/en/mysql-real-connect.html
這是MySQL官方對於mysql_real_connect的使用方式說明,
最下面就有指出你找到的問題,
而且他也有建議你怎麼改,
As of MySQL 5.0.13, you can use the MYSQL_OPT_RECONNECT option to
mysql_options() to control reconnection behavior.
第二份是
http://mysql-python.sourceforge.net/MySQLdb.html
這是MySQL-Python的使用者手冊,
裡面就有提到MySQL的API跟Python函式名稱上的互相關係,
不過看了半天發現怎麼沒有提到reconnect這件事?
於是開了google "MYSQL_OPT_RECONNECT python"
第一筆是個漏漏長的網址,
http://sourceforge.net/tracker/index.php?aid=1483074&group_id=22307&atid=374934
內文是有人針對這個問題在2008年底開了一個收patch要求,
但是MySQL-Python的作者adustman第一句回的話就是這patch我不收,
因為他認為自動重新連線這回事有很多潛在的問題,
MySQL官方把這個預設值改成不自動重連也有原因,
所以他麻煩你認真的定時去保持連線,
也就是用 connection.ping() 定期去敲 mysql 說你還活著
--
愛情, 是貓與蝴蝶的嬉戲
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.116.40.15
推
11/16 12:20, , 1F
11/16 12:20, 1F
推
11/16 14:39, , 2F
11/16 14:39, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):