我每天都会收到以下信息。我的脚本通过 cron 作业运行。谁能帮忙解决这个问题?
File "/usr/lib64/python2.6/site-packages/MySQLdb/cursors.py", line 174, in execute
self.errorhandler(self, exc, value)
File "/usr/lib64/python2.6/site-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
raise errorclass, errorvalue
_mysql_exceptions.OperationalError: (2006, 'MySQL server has gone away')
我的代码:
def get_id(test_mysql_conn,id):
cursor = test_mysql_conn.cursor()
cursor.execute("""select id from test where id = %s """, (id))
row = cursor.fetchone()
if row is not None:
return row[0]
return 0
最佳答案
试试下面的方法
if (os.getenv('SERVER_SOFTWARE') and os.getenv('SERVER_SOFTWARE').startswith('Google App Engine/')):
db = MySQLdb.connect(unix_socket = UNIX_SOCKET + INSTANCE_NAME, host =" HOST/IP", db = "DB_Name", user = "User_Name") //if your mysql is on google server
else:
db = MySQLdb.connect(host = "HOST/IP", port = "Port_number", db = "DB_name", user = "User_Name", passwd = "password")
cursor = db.cursor()
cursor.connection.autocommit(True)
except Exception, err:
logging.info("Error In DataBase Connection : " + traceback.format_exc())
return 'DataBaseProblem'
try:
sql = query+str(req_args)
logging.info("QUERY = "+str(sql))
cursor.execute(sql)
procedureResult = cursor.fetchall();
if str(procedureResult) == '()':
logging.info("Procedure Returned 0 Record")
procedureResult = 'DataBaseProblem'
#logging.info("procedureResult : " + str(procedureResult))
except Exception, err:
#trackBack = str (traceback.format_exc())
#raise Exception('DataBaseProblem',trackBack)
procedureResult="DataBaseProblem"
mysql的端口号是3306
关于python - MySQL 服务器已经消失 - Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28344294/