Не могу запустить mysql - mysql слишком быстро восстанавливается, остановлен

Сегодня я сделал свежую установку Ubuntu 12.04 и занялся настройкой локальной среды разработки. Я установил mysql и отредактировал /etc/mysql/my.cnf для оптимизации InnoDB, но когда я пытаюсь перезапустить mysql, происходит сбой с ошибкой:

[20:53][tom@Pochama:/var/www/website] (master) $ sudo service mysql restart
start: Job failed to start

Системный журнал показывает, что существует проблема со скриптом init:

[ 111]

Есть идеи?


Вещи, которые я уже пробовал:

Я погуглил и нашел ошибку Ubuntu с apparmor ( https://bugs.launchpad.net /ubuntu/+source/mysql-5.5/+bug/970366), я перевел apparmor из принудительного режима в режим жалоб:

sudo apt-get install apparmor-utils
sudo aa-complain /usr/sbin/mysqld
sudo /etc/init.d/apparmor reload

, но это не помогло. Я до сих пор не могу запустить MySQL.

Я также подумал, что проблема может быть в том, что файлы журналов InnoDB были другого размера, чем ожидал mysql. Я удалил файлы журнала innodb перед перезапуском, используя: sudo mv /var/lib/mysql/ib_logfile* /tmp. Не повезло, хотя.

Обходной путь: Я переустановил 12.04, убедившись, что не коснулся /etc/mysql/my.cnf в любом случае. Mysql работает, поэтому я могу продолжать то, что мне нужно сделать. Но мне нужно будет отредактировать его в какой-то момент - надеюсь, я найду решение, или на этот вопрос ответит этот момент ...

33
задан 2 October 2012 в 16:25

18 ответов

Я наконец понял проблему. По сути, определение некоторых параметров было удалено из предыдущей версии mysql и заменено другими именами. Чтобы исправить это, в /etc/mysql/my.cnf замените:

# Tom Added to ensure the server character set is set to utf8
default-character-set = utf8
default-collation     = utf8_general_ci

на:

# Tom Added to ensure the server character set is set to utf8
character_set_server  = utf8
collation_server      = utf8_general_ci

Это связанный отчет об ошибке панели запуска: https://bugs.launchpad.net/ubuntu/+source/mysql -5.5 / + bug / 958120 .

Или просто запустите:

# Miraz added dpkg-reconfigure
dpkg-reconfigure mysql-server-5.5

Но убедитесь, что не установлена ​​старая версия mysql, если она была, удалите:

# Miraz quick mysql package check
dpkg -l *mysql*
29
ответ дан 2 October 2012 в 16:25

Миний хувьд би буруу bind-address тунхаглал. EC2-ийн хувийн IP хаягийг олж мэдэхээр ifconfig гүйж /etc/mysql/my.cnf файлд шинэчилсэн.

0
ответ дан 2 October 2012 в 16:25

В моем случае я обнаружил проблему с разрешением на / tmp. Я только что установил разрешение каталога tmp на 766 и перезапустил службу mysql. Исправлено.

0
ответ дан 2 October 2012 в 16:25

В моем случае проблема заключалась в / etc / mysql / my .cnf разрешение файла.

Я изменил его из соображений экономии, но это вызвало ошибки вроде

kernel: [604528.290448] type=1400 audit(1424350956.727:193): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/usr/sbin/mysqld" pid=15008 comm="apparmor_parser"

Разрешение my.cnf было 766, я изменил его на 744, и две из трех ошибок исчезли . Еще есть одно похожее сообщение об ошибке, но оно не помешало запуску mysql.

Надеюсь, это поможет ...

0
ответ дан 2 October 2012 в 16:25

У меня были такие же сообщения об ошибках, но причина была другая. Мои таблицы InnoDB были повреждены, потому что вся файловая система перешла в режим только для чтения. Я исправил это повреждение, добавив следующую строку в /etc/mysql/my.cf

innodb_force_recovery = 1

Я запустил MySQL:

sudo service mysql start

MySQL действительно запустился и я выкинул/экспортировал все таблицы. Я изменил innodb_force_recovery на 0 (=default) и перезапустил MySQL:

sudo service mysql restart

I'm using Ubuntu 12.04 with MySQL 5.5. Прошло много времени, прежде чем я нашел проблему и надеюсь, что смогу помочь кому-нибудь с этим ответом. Смотрите также http://dev.mysql.com/doc/refman/5.5/en/forcing-innodb-recovery.html

0
ответ дан 2 October 2012 в 16:25

Только что обновили версию MySQL и AppArmor, как предложено здесь , чтобы решить эту проблему в Ubuntu 12.04, запущенном на экземпляре Amazon ec2. Я все еще получаю сообщение об ошибке несколько раз, но MySQL автоматически перезагружается.

0
ответ дан 2 October 2012 в 16:25

После автоматического обновления до mysqld-5.5.53 ubuntu 14.04.1 mysql не запускался. В моем системном журнале появились следующие строки:

Oct 27 06:05:51 hostname kernel: [  593.168925] init: mysql post-start process (4997) terminated with status 1
Oct 27 06:05:51 hostname kernel: [  593.178241] type=1400 audit(1477562751.231:31): apparmor="STATUS" operation="profile_replace" profile="unconfined" name
Oct 27 06:05:51 hostname kernel: [  593.204392] init: mysql main process (5032) terminated with status 1
Oct 27 06:05:51 hostname kernel: [  593.204404] init: mysql respawning too fast, stopped

Проблема была решена путем создания этого каталога:

sudo mkdir /var/lib/mysql-files
sudo chmod 700 /var/lib/mysql-files
sudo chown mysql:mysql /var/lib/mysql-files
sudo /etc/init.d/mysql start
1
ответ дан 2 October 2012 в 16:25

Проверьте разрешения /tmp. У меня возникла эта проблема, после долгих поисков и перезагрузок я обнаружил, что разрешения /tmp были 755.

Я изменил их на 777 и mysql хорошо запустился.

1
ответ дан 2 October 2012 в 16:25

Моя проблема заключалась в 0% свободного места! Дважды проверьте: -)

1
ответ дан 2 October 2012 в 16:25

Fomba tsara hanalefahana ny tsy fahombiazana amin'ny fizotran'ny fanombohana ( /etc/init/mysql.conf ) dia ny manamarina ireo voina voalohany :

sudo tail -f /var/log/upstart/mysql.log 

Izay no nahatonga ahy hadisoana kely:

hadisoana: 'Tsy afaka mifandray amin'ny mpizara MySQL eo an-toerana amin'ny alàlan'ny socket

Ho ahy dia vokatry ny fisian'ny mpampiasa tsy hita teo ambanin'ny vondrona [mysqld] ao amin'ny my.cnf

2
ответ дан 2 October 2012 в 16:25

Для меня решением было удалить строку ...

set-variable = max_connections=200

... которая является синтаксисом MySQL 3.x и должна быть изменена на

max_connections=200
1
ответ дан 2 October 2012 в 16:25

Когда у меня была аналогичная ошибка MySQL («Не удалось запустить задание») после обновления с 11.10 до 12.04, комментарий № 27 к https: //bugs.launchpad. net / ubuntu / + source / mysql-dfsg-5.1 / + bug / 573318? comments = all у меня отлично работал. Цитата:

Проблема для меня заключалась в том, что после обновления не существовало файла /etc/apparmor.d/local/usr.sbin.mysqld. Я вручную скопировал один из пустых (т.е.был только комментарий в заголовке), а потом все было хорошо.

1
ответ дан 2 October 2012 в 16:25

У меня были те же проблемы, для меня адрес привязки был установлен неправильно в моем файле /etc/mysql/my.cnf . Таким образом, похоже, что все, что не так в my.cnf, может вызвать эту проблему. Я не нашел в журналах ничего, что указывало бы на это как на проблему.

1
ответ дан 2 October 2012 в 16:25

Похоже, все сводится к ошибкам в конфигурации MySQL, расположенным в / etc / mysql / my.cnf и файлы в /etc/mysql/conf.d/ .

В моем случае это было неправильное значение адреса привязки , потому что IP-адрес моей машины изменился, и MySQL больше не мог связываться. Не стесняйтесь узнать больше об этом в этой статье блога .

3
ответ дан 2 October 2012 в 16:25

У меня тоже была похожая проблема. Пункты ниже говорят, что они были удалены с сервера mysql 5.5.
Если они есть в вашем my.cnf , он не запустится. Закомментируйте их с помощью # .
(Информация взята из: http://dev.mysql.com/doc/refman/5.5/en/replication-options-slave.html )

Затронутые параметры показаны в этом списке:

 --master-host
 --master-user
 --master-password
 --master-port
 --master-connect-retry
 --master-ssl
 --master-ssl-ca
 --master-ssl-capath
 --master-ssl-cert
 --master-ssl-cipher
 --master-ssl-key
3
ответ дан 2 October 2012 в 16:25

У меня была аналогичная проблема. Это было неприятно, потому что я не видел журналов ошибок, указывающих, в чем проблема.

В моем случае значение, которое я установил для innodb_buffer_pool_size, было слишком большим для памяти сервера.

Я выяснил это по запуск mysqld напрямую от имени пользователя mysql.

# su mysql
# mysqld

Таким образом, вы действительно видите вывод ошибки.

10
ответ дан 2 October 2012 в 16:25

Innodb имеет значение по умолчанию (innodb_buffer_pool_size), которое равно 128М - это может быть слишком большим для вашего сервера (особенно если вы используете маленький Amazon EC2 AMI - которым я был) Исправление, которое работало на меня, заключалось в добавлении следующей строки в /etc/mysql/my. cnf

innodb_buffer_pool_size = 16M

Я написал об этом исправлении здесь http://www.mlynn.org/2012/07/mysql-5-5-on-ubuntu-12-04-job-failed-to-start

10
ответ дан 2 October 2012 в 16:25

У меня была такая же проблема. Оказалось, что это репликация главного подчиненного сервера mysql my.cnf. Проверьте свой /var/log/mysql/error.log .

Надеюсь, это немного поможет. Сначала проверьте настройки mysql, прежде чем тратить два часа на apparmor, который отлично работает.

1
ответ дан 2 October 2012 в 16:25

Другие вопросы по тегам:

Похожие вопросы: