我想連接到mysql數據庫以檢索某些用戶的id並使用這些id從另一個表中檢索另一組數據。它應該很容易,但我得到的MySQL錯誤。這是我正在嘗試做的一個片段。嘗試使用Python連接到mysql時獲取2013失去的連接錯誤
import MySQLdb
from langdetect import detect
my_db = MySQLdb.connect(
host="localhost",
port = 3306,
user="user",
passwd="password",
db="mydb",
charset = 'utf8'
)
sql1 = """SELECT id, comment FROM users WHERE usertype = 5 LIMIT 100"""
users = []
db_cursor = my_db.cursor()
db_cursor.execute(sql1)
users = db_cursor.fetchall()
sql2 = """SELECT first_name, last_name, email FROM user_contact WHERE id = %s"""
user_contact =[]
for user in users:
comment = user[1]
if detect(comment) == 'en':
id = user[0]
db_cursor = my_db.cursor()
db_cursor.execute(sql2, (id))
temp = db_cursor.fetchall()
user_contact . append (temp)
print (user_contact)
這是我在嘗試運行此查詢時得到的錯誤消息。
_mysql_exceptions.OperationalError: (2013, 'Lost connection to MySQL server during query')
該查詢的第一部分通常會通過,但它通常會在第二部分嘗試再次連接到mysql時失敗。我只測試了100條記錄,只是爲了檢查查詢是否存在運行時間過長的問題,但即使有10條記錄也是如此。
什麼是服務器的錯誤日誌說?您可能需要激活或增加日誌級別。 –
@KlausD。我沒有錯誤日誌。我沒有數據庫的管理員權限。我只是想知道是否是第二次連接到mysql時使用相同的連接的問題。 – Cryssie
然後你應該與管理員聯繫。 –