Просмотр полной версии : Reconnection to MySQL server
Vinolentus
10.05.2011, 16:55
https://gist.github.com/964488
Умеет:
- пересоздавать соединения с сервером;
- кое-как восстанавливать prepared statements;
- сливать в бд все, что было поставлено в очередь за время, пока соединение отсутствовало.
Последнее, мне кажется, очень вредно =)...
Vinolentus
10.05.2011, 20:00
Последнее, мне кажется, очень вредно ...Почему? Если мы что-то сохраняем в момент отсутствия соединения, мы должны терять это? Прогресс персонажа, например.
в общем-то да, я что-то не о том подумал =)
перезалейте пожалуйста ;)
partizanes
19.06.2012, 21:44
патч топикстартера не видел,
найдено на старом форуме http://old.ru-mangos.ru/mangos.ru/forum/showthreadfa55.html?t=10175
ReFresh:
Index: src/shared/Database/DatabaseMysql.cpp
================================================== =================
--- src/shared/Database/DatabaseMysql.cpp (revision 4593)
+++ src/shared/Database/DatabaseMysql.cpp (working copy)
@@ -155,6 +155,22 @@
sLog.outDetail("AUTOCOMMIT NOT SET TO 0");
}
/*-------------------------------------*/
+#if MYSQL_VERSION_ID >= 50003
+// #if MYSQL_VERSIOB_ID >= 50013
+ my_bool my_true = (my_bool)1;
+ if (mysql_options(mMysql, MYSQL_OPT_RECONNECT, &my_true))
+ {
+ sLog.outDetail("Failed to turn on MYSQL_OPT_RECONNECT.");
+ }
+ else
+ {
+ sLog.outDetail("Successfully turned on MYSQL_OPT_RECONNECT.");
+ }
+#else
+ sLog.outDetail("Your mySQL client lib version does not support reconnecting after a timeout.");
+ sLog.outDetail("If this causes you any trouble we advice you to upgrade");
+ sLog.outDetail("your mySQL client libs to at least mySQL 5.0.13 to resolve this problem.");
+#endif
return true;
}
else
и вариант2
ddayver:
У меня просто дописано mysql_options(mMysql, MYSQL_OPT_RECONNECT, &my_true)
vBulletin® v3.8.4, Copyright ©2000-2024, Jelsoft Enterprises Ltd. Перевод: zCarot