33 votes

Impossible de lancer mysql - mysql respawning trop rapide, arrêté

Aujourd'hui, j'ai fait une nouvelle installation d'ubuntu 12.04 et j'ai commencé à mettre en place mon environnement de développement local. J'ai installé mysql et édité /etc/mysql/my.cnf pour optimiser InnoDB mais lorsque j'essaie de redémarrer mysql, il échoue avec une erreur :

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

Le syslog révèle qu'il y a un problème avec l'init script :

> tail -f /var/log/syslog

Apr 28 21:17:46 Pochama kernel: [11840.884524] type=1400 audit(1335644266.033:184): apparmor="STATUS" operation="profile_replace" name="/usr/sbin/mysqld" pid=760 comm="apparmor_parser"
Apr 28 21:17:47 Pochama kernel: [11842.603773] init: mysql main process (764) terminated with status 7
Apr 28 21:17:47 Pochama kernel: [11842.603841] init: mysql main process ended, respawning
Apr 28 21:17:48 Pochama kernel: [11842.932462] init: mysql post-start process (765) terminated with status 1
Apr 28 21:17:48 Pochama kernel: [11842.950393] type=1400 audit(1335644268.101:185): apparmor="STATUS" operation="profile_replace" name="/usr/sbin/mysqld" pid=811 comm="apparmor_parser"
Apr 28 21:17:49 Pochama kernel: [11844.656598] init: mysql main process (815) terminated with status 7
Apr 28 21:17:49 Pochama kernel: [11844.656665] init: mysql main process ended, respawning
Apr 28 21:17:50 Pochama kernel: [11845.004435] init: mysql post-start process (816) terminated with status 1
Apr 28 21:17:50 Pochama kernel: [11845.021777] type=1400 audit(1335644270.173:186): apparmor="STATUS" operation="profile_replace" name="/usr/sbin/mysqld" pid=865 comm="apparmor_parser"
Apr 28 21:17:51 Pochama kernel: [11846.721982] init: mysql main process (871) terminated with status 7
Apr 28 21:17:51 Pochama kernel: [11846.722001] init: mysql respawning too fast, stopped

Des idées ?


Des choses que j'ai déjà essayées :

J'ai cherché sur Google et j'ai trouvé un bug Ubuntu avec apparmor ( https://bugs.launchpad.net/ubuntu/+source/mysql-5.5/+bug/970366 ), j'ai fait passer Apparmor du mode application au mode plainte :

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

mais ça n'a pas aidé. Je n'arrive toujours pas à lancer mysql.

J'ai également pensé que le problème pouvait être dû au fait que les fichiers journaux InnoDB avaient une taille différente de celle attendue par mysql. J'ai supprimé les fichiers journaux innodb avant de redémarrer en utilisant : sudo mv /var/lib/mysql/ib_logfile* /tmp . Mais pas de chance.

Solution : J'ai réinstallé 12.04, en m'assurant de ne pas toucher /etc/mysql/my.cnf de quelque manière que ce soit. Mysql fonctionne, je peux donc faire ce que j'ai à faire. Mais j'aurai besoin de le modifier à un moment donné - J'espère que j'aurai trouvé une solution, ou que cette question aura trouvé une réponse à ce moment-là...

29voto

Garry Points 648

J'ai finalement trouvé le problème. En gros, la définition de certains paramètres a été supprimée de la version précédente de mysql et a été remplacée par des noms différents. Pour corriger, dans /etc/mysql/my.cnf, remplacez :

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

avec :

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

Il s'agit du rapport de bogue associé au launchpad : https://bugs.launchpad.net/ubuntu/+source/mysql-5.5/+bug/958120 .

Ou facile à exécuter :

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

Mais assurez-vous qu'il n'y a pas d'installation d'une ancienne version de mysql installée, si c'est le cas, supprimez-la :

# Miraz quick mysql package check
dpkg -l *mysql*

10voto

Praveen S Points 111

Innodb a un paramètre par défaut (innodb_buffer_pool_size) qui est fixé à 128M - cela peut être trop grand pour votre serveur (en particulier si vous utilisez un petit Amazon EC2 AMI - ce qui était mon cas) La solution qui a fonctionné pour moi était d'ajouter la ligne suivante à /etc/mysql/my.cnf

innodb_buffer_pool_size = 16M

J'ai écrit sur cette correction ici http://www.mlynn.org/2012/07/mysql-5-5-on-ubuntu-12-04-job-failed-to-start

10voto

Joel Points 201

J'ai eu un problème similaire. C'était frustrant car je ne pouvais pas voir de journaux d'erreurs indiquant la nature du problème.

Dans mon cas, la valeur que j'avais définie pour innodb_buffer_pool_size était trop grande pour la mémoire du serveur.

J'ai découvert cela en exécutant mysqld directement en tant qu'utilisateur mysql.

# su mysql
# mysqld

De cette façon, vous voyez réellement la sortie d'erreur.

3voto

dim77x Points 59

J'ai également eu un problème similaire. Les éléments ci-dessous indiquent qu'ils ont été supprimés du serveur mysql 5.5.
Si vous les avez dans votre my.cnf il ne démarre pas. Commentez-les avec # .
(Info dérivée de : http://dev.mysql.com/doc/refman/5.5/en/replication-options-slave.html )

Les options concernées sont indiquées dans cette liste :

 --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

3voto

vishalaestro Points 21

Il semble que cela se résume à des erreurs dans la configuration de MySQL, située dans /etc/mysql/my.cnf et les fichiers dans /etc/mysql/conf.d/ .

Dans mon cas, c'était une erreur bind-address car l'adresse IP de ma machine avait changé et MySQL ne pouvait plus se lier. N'hésitez pas à en dire plus à ce sujet dans cet article de blog .

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X