Эта ошибка возникает в основном по двум причинам.
- У вас слишком мало ОЗУ.
- Соединение с базой данных закрывается при попытке подключения.
Вы можете попробовать этот код ниже.
# Simplification to execute an SQL string of getting a data from the database
def get(self, sql_string, sql_vars=(), debug_sql=0):
try:
self.cursor.execute(sql_string, sql_vars)
return self.cursor.fetchall()
except (AttributeError, MySQLdb.OperationalError):
self.__init__()
self.cursor.execute(sql_string, sql_vars)
return self.cursor.fetchall()
Он устраняет ошибку независимо от причины, особенно по второй.
Если она вызвана нехваткой ОЗУ, вы либонеобходимо повысить эффективность соединения с базой данных из кода, из конфигурации базы данных или просто увеличить ОЗУ.