rc.d отвергаем сразу
Вот задался я вопросом, в mysql же есть реконнект.# rcorder /etc/rc.d/* /usr/local/etc/rc.d/*
...
/etc/rc.d/LOGIN
/usr/local/etc/rc.d/viperhive
/usr/local/etc/rc.d/rsyncd
/usr/local/etc/rc.d/mysql-server
/usr/local/etc/rc.d/lighttpd
/usr/local/etc/rc.d/bnetd -< pvpgn
...
Открыл исходники
Код: Выделить всё
#if MYSQL_VERSION_ID >= 50003
#if MYSQL_VERSION_ID < 50013
eventlog(eventlog_level_warn,__FUNCTION__,"Your mySQL client lib version does not support reconnecting after a timeout.");
eventlog(eventlog_level_warn,__FUNCTION__,"If this causes you any trouble you are advices to upgrade");
eventlog(eventlog_level_warn,__FUNCTION__,"your mySQL client libs to at least mySQL 5.0.13 to resolve this problem.");
// we might try a dirty hack like the following, but I'm not sure if it will work
// mysql->reconnect = 1;
#endif
#if MYSQL_VERSION_ID >= 50019
my_bool my_true = (my_bool)1;
if (mysql_options(mysql, MYSQL_OPT_RECONNECT, &my_true)){
eventlog(eventlog_level_warn,__FUNCTION__,"Failed to turn on MYSQL_OPT_RECONNECT.");
}else{
eventlog(eventlog_level_info,__FUNCTION__,"Successfully turned on MYSQL_OPT_RECONNECT.");
}
#endif
#endif
if (mysql_real_connect(mysql, host, user, pass, name, port ? atoi(port) : 0, socket, CLIENT_FOUND_ROWS) == NULL) {
eventlog(eventlog_level_error, __FUNCTION__, "error connecting to database (db said: '%s')", mysql_error(mysql));
mysql_close(mysql);
return -1;
}
#if MYSQL_VERSION_ID >= 50013
#if MYSQL_VERSION_ID < 50019
my_bool my_true = (my_bool)1;
if (mysql_options(mysql, MYSQL_OPT_RECONNECT, &my_true)){
eventlog(eventlog_level_warn,__FUNCTION__,"Failed to turn on MYSQL_OPT_RECONNECT.");
}else{
eventlog(eventlog_level_info,__FUNCTION__,"Successfully turned on MYSQL_OPT_RECONNECT.");
}
#endif
#endif
в логах вижу
Код: Выделить всё
Apr 19 22:54:49 [info ] sql_mysql_init: Successfully turned on MYSQL_OPT_RECONNECT.
Apr 19 22:54:49 [error] sql_mysql_init: error connecting to database (db said: 'Can't connect to MySQL server on '127.0.0.1' (61)')
Apr 19 22:54:49 [error] sql_init: got error init db
Apr 19 22:54:49 [error] pre_server_startup: storage init failed
Не программист, скажите куда копать ... сам доделаю.
Пока думаю добавить while