После перезапуска MySQL наблюдаю в логе следующее: # cat /var/log/mysql/info 050629 16:50:50 /usr/sbin/mysqld: Normal shutdown 050629 16:50:50 InnoDB: Starting shutdown... /usr/sbin/mysqld_wrapper: line 68: 3993 Killed nice $mysqld "$@" 2005-Jun-29 16:50:51 :: execution killed /usr/sbin/mysqld still running: 4017 2005-Jun-29 16:50:51 :: shutdown 2005-Jun-29 16:50:52 :: startup 050629 16:50:53 InnoDB: Database was not shut down normally. InnoDB: Starting recovery from log files... InnoDB: Starting log scan based on checkpoint at InnoDB: log sequence number 0 43892 InnoDB: Doing recovery: scanned up to log sequence number 0 43892 050629 16:50:53 InnoDB: Flushing modified pages from the buffer pool... 050629 16:50:53 InnoDB: Started /usr/sbin/mysqld: ready for connections. Version: '4.0.20-log' socket: '/mysql.sock' port: 3306 Вылечилось заменой usleep 100000 на uslep 10000000 в строке 356 /etc/init.d/functions. Наверное, лучше бы вести соответствующий параметр для stop_daemon, т.к. для других сервисов это не совсем хорошо ;)
reassign to startup (should allow for individual/tunable timeouts)
reassign to maintainer
Просьба FRы на Master не вешать.
FRы в /etc/init.d/functions относятся к другому пакету.
Updated summary.
Поймали именно это же на свеженалитом MySQL из 4.0. Перевешиваю в Sisyphus.
Created attachment 2163 [details] patch for --timeout option Похоже, мне это нужно больше всех ;) То, что в аттаче, может не очень красиво, но работает. Можно приложить?
Так что, по мотивам приложенного или текущего nginx.init фиксим? :)
1) инитскрипт mysqld с тех пор похакали местно; 2) возможно, это всё так и проболтается до wontfix/systemd.
Есть опция --retry, мне например пришлось воткнуть её в uwsgi.
В 0.5.16-alt1 stop_daemon'у был добавлен параметр --retry, транслируемый as is в start-stop-daemon. Думаю что именно он вам и нужен, см. https://bugzilla.altlinux.org/show_bug.cgi?id=15044 Этот параметр более универсален, чем тот, который вы предлагаете.