Как понять почему не запускается mysql сервер

27.04.2014
Пытаемся запустить сервер mysql на linux машине
/etc/init.d/mysql start
В результате видим надпись FAIL - сервер не запустился.

Для того, что бы понять почему можно воспользоваться командой mysql_safe

mysqld_safe --log-error=/var/log/mysql.err
Эта команда попытается запустить сервер mysql и будет выводить лог запуска в файл "/var/log/mysql.err".

Анализ этого файла позволить узнать причину провала запуска.

В моем случае я обнаружил в логе запуска следующую строчку

22:27:16 [ERROR] /usr/sbin/mysqld: unknown variable 'default-character-set=utf8'
Эта опция содержится в файле конфигурации mysql
/etc/mysql/my.cnf

Поискав, я обнаружил, что опция default-character-set стала depricated в версии 5.0 Решение - удаляем строчку
default-character-set=utf8
И добавляем следующие строки
init_connect=‘SET collation_connection = utf8_unicode_ci’
init_connect=‘SET NAMES utf8’
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
После этого запускаем mysql в обычном режиме
/etc/init.d/mysql start
Теперь все хорошо.