2014-09-12 37 views
0
# -*- coding: utf-8 -*- 
import MySQLdb 
import sitedb 

for i in range(5): 
    print i 
    cred = sitedb.loadmysqlcredential() 
    db = MySQLdb.connect(host = cred["host"], user = cred["user"], passwd = cred["passwd"], db = "vg_site_db", charset = 'utf8') 
    db.close() 

我在不同的服務器上有MySQL:Windows和Linux。在贏這個代碼工作正確。在Linux上第三次迭代mysql時悲傷:在'讀取初始通信數據包'時丟失了與MySQL服務器的連接,系統錯誤:0.當頻繁連接時在'讀取初始通信數據包'時丟失與MySQL服務器的連接

我在Linux服務器上必須更改什麼?

UPD:

的問題是,我有循環(對於),和當i = 0連接發生,也像I = 1和2,但下一個連接阻塞

回答

0

谷歌搜索後,我發現,有些時候它發生,並重啓就可以解決問題。我重新啓動我的系統和腳本工作正確。

0

以下是我使用針對Linux的分貝conneection串的例子,希望它有助於:

dbSomeDBConnection = MySQLdb.connect(host="10.100.10.2", 
         user="root", 
         passwd="", 
         db="unitTestDB", 
         charset="utf8" 
        ) 

UPD:

我測試了你的代碼對我的Linux設置(與MySQL 5.1.73 CentOS 6),我不能重現你的問題。您可能希望嘗試簡化您的憑證部分,就像我在下面所做的一樣,看看您是否仍然存在此問題。下面是我用來測試你的東西,它爲我工作得很好:

# -*- coding: utf-8 -*- 

import MySQLdb 

for i in range(5): 
    print i 
    db = MySQLdb.connect(host = "10.100.10.2", user = "root", passwd = "", db = "unitTestDB", charset = "utf8") 
    db.close() 
+0

問題是我有循環(for),當i = 0連接發生時,也像i = 1和2,但接下來連接被阻塞。 – 2014-09-12 17:50:21

+0

@GulaevValentin我在測試中發佈了代碼更新,無法複製,試圖更簡化您的測試,也許它是您的服務器上的併發連接數量的配置設置(它應該清理,但是誰知道) – 2014-09-12 20:10:08

+0

神祕的,我重新啓動我的Linux和代碼工作。感謝您的幫助! – 2014-09-13 05:04:30

相關問題