После обновления сегодня утром у нас возникли странные проблемы. Прежде всего apt-get upgrade
сбой во время настройки с сообщением о том, что не удалось запустить службу. Затем мы попытались dpkg-reconfigure
, apt-get purge
с последующим apt-get install
и apt-get install --reinstall
, но не повезло.
После некоторого времени попыток разобраться в этом мы попытались запустить mysqld
просто как root:
# mysqld --verbose
130809 15:31:15 [Note] Plugin 'FEDERATED' is disabled.
130809 15:31:15 InnoDB: The InnoDB memory heap is disabled
130809 15:31:15 InnoDB: Mutexes and rw_locks use GCC atomic builtins
130809 15:31:15 InnoDB: Compressed tables use zlib 1.2.3.4
130809 15:31:15 InnoDB: Initializing buffer pool, size = 128.0M
130809 15:31:15 InnoDB: Completed initialization of buffer pool
130809 15:31:15 InnoDB: highest supported file format is Barracuda.
130809 15:31:15 InnoDB: Waiting for the background threads to start
130809 15:31:16 InnoDB: 5.5.32 started; log sequence number 357746282514
130809 15:31:17 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306
130809 15:31:17 [Note] - '0.0.0.0' resolves to '0.0.0.0';
130809 15:31:17 [Note] Server socket created on IP: '0.0.0.0'.
130809 15:31:17 [Note] Event Scheduler: Loaded 0 events
130809 15:31:17 [Note] mysqld: ready for connections.
Version: '5.5.32-0ubuntu0.12.04.2-log' socket: '/var/run/mysqld/mysqld.sock' port: 3306 (Ubuntu)
и он просто отлично работает. Итак, копаясь в файлах журнала, мы заметили следующее:
130809 10:15:37 InnoDB: Starting shutdown...
130809 10:15:39 InnoDB: Waiting for 200 pages to be flushed
130809 10:16:02 InnoDB: Shutdown completed; log sequence number 357736350943
130809 10:16:02 [Note] /usr/sbin/mysqld: Shutdown complete
/proc/self/fd/9: 1: /proc/self/fd/9: mysqld_get_param: not found
/proc/self/fd/9: 1: /proc/self/fd/9: mysqld_get_param: not found
/proc/self/fd/9: 1: /proc/self/fd/9: mysqld_get_param: not found
/proc/self/fd/9: 1: /proc/self/fd/9: mysqld_get_param: not found
В 10:15 было начато обновление. Каждый раз, когда мы пытаемся запустить mysql-server
используя либо сценарий init.d, либо service mysql start
команда просто добавит еще одну строку, как последние 4 строки.
Итак, пока мы можем запустить сервер в screen
и запускать его вручную каждый раз при перезагрузке сервера, это очень раздражает. Что мы можем сделать, чтобы это исправить?
У меня была такая же проблема с момента обновления в прошлую пятницу. Есть старая ошибка Ubuntu, которая существует довольно долго и, похоже, связана:
https://bugs.launchpad.net/ubuntu/+source/mysql-5.5/+bug/973951
В этом потоке предлагаются различные исправления / обходные пути (в том числе несколько очистки + переустановка), но недавно опубликованный обходной путь помог мне и может сработать и для вас:
https://bugs.launchpad.net/ubuntu/+source/mysql-5.5/+bug/973951/comments/37
Удачи.