Aujourd'hui, j'ai effectué une nouvelle installation d'ubuntu 12.04 et j'ai mis en place l'environnement de développement local. J'ai installé mysql et édité /etc/mysql/my.cnf
pour optimiser InnoDB mais quand j'essaye 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 un problème avec le script init:
> 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?
Choses que j'ai déjà essayées:
J'ai cherché sur Google et trouvé un bogue Ubuntu avec apparmor ( https://bugs.launchpad.net/ubuntu/+source/mysql-5.5/+bug/970366 ), j'ai changé apparmor du mode Enforce 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 ne peux toujours pas démarrer mysql.
Je pensais aussi que le problème était peut-ê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
. Pas de chance cependant.
Solution de contournement: j'ai réinstallé la version 12.04 en veillant à ne pas la toucher /etc/mysql/my.cnf
. Mysql travaille pour que je puisse continuer avec ce que je dois faire. Mais il faudra que je le modifie à un moment donné - espérons que j'aurai trouvé une solution ou que cette question aura été résolue à ce moment-là ...
dpkg-reconfigure mysql-server-5.5
solution à tout ce qui n'allait pas dans ma configuration.utf8_unicode_ci
c'est mieux. Maintenant mêmeutf8mb4_unicode_ci
Innodb a un paramètre par défaut (innodb_buffer_pool_size) qui est défini sur 128 Mo. Ce paramètre est peut-être trop volumineux pour votre serveur (surtout si vous utilisez une petite AMI Amazon EC2 - ce que j'étais). Le correctif qui a fonctionné pour moi a été d'ajouter ce qui suit: ligne à
/etc/mysql/my.cnf
J'ai écrit au sujet de ce correctif ici http://www.mlynn.org/2012/07/mysql-5-5-on-ubuntu-12-04-job-failed-to-start
la source
innodb_buffer_pool_size
inférieur était une partie de la solution, mais attention, vous risquez peut-être de manquer de mémoire.J'avais un problème similaire. C'était frustrant car je ne pouvais voir aucun journal d'erreur indiquant le 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.
De cette façon, vous voyez réellement la sortie d'erreur.
la source
J'ai aussi eu un problème similaire. Les éléments ci-dessous indiquent qu'ils ont été supprimés de mysql server 5.5.
Si vous les avez dans votre
my.cnf
, cela ne commencera pas. Commentez-les avec#
.(Informations dérivées de: http://dev.mysql.com/doc/refman/5.5/en/replication-options-slave.html )
Les options concernées apparaissent dans cette liste:
la source
Cela semble se résumer à des erreurs dans la configuration de MySQL, située dans
/etc/mysql/my.cnf
et dans les fichiers/etc/mysql/conf.d/
.Dans mon cas, c'était une
bind-address
valeur fausse , parce que l'adresse IP de ma machine avait changé et que MySQL ne pouvait plus se lier. N'hésitez pas à en savoir plus sur cet article de blog .la source
Un bon moyen de déboguer les échecs dans le processus post-démarrage (
/etc/init/mysql.conf
) consiste à vérifier les journaux de mise à jour:Cela m'a donné une erreur de socket:
Dans mon cas, cela était dû à un
user
paramètre manquant dans le[mysqld]
groupe demy.cnf
la source
Lorsque j'avais une erreur MySQL similaire ("Job failed to start") après la mise à niveau de 11.10 à 12.04, commentez # 27 sur https://bugs.launchpad.net/ubuntu/+source/mysql-dfsg-5.1/+bug/ 573318? Commentaires = tout a fonctionné parfaitement pour moi. Citation:
la source
Pour moi, la solution était de supprimer la ligne ...
... qui est la syntaxe MySQL 3.x et doit être changé en
la source
J'ai eu le même problème. Il s’est avéré qu’il s’agissait des réplications du maître mysql my.cnf. Vérifiez votre
/var/log/mysql/error.log
.J'espère que c'est un peu d'aide. Vérifiez les paramètres de mysql avant de perdre deux heures avec apparmor, qui fonctionne parfaitement.
la source
J'ai eu les mêmes problèmes, pour moi l'a
bind-address
été mal placé dans mon/etc/mysql/my.cnf
dossier. Il semble donc que tout ce qui ne va pas dans le fichier my.cnf peut causer ce problème. Je n'ai rien trouvé dans les journaux qui indique que c'est le problème.la source
Mon problème était 0% d'espace libre! Revérifier :-)
la source
Vérifiez les
/tmp
autorisations. J'ai eu ce problème, après plusieurs recherches sur Google et redémarrages, j'ai découvert que les/tmp
autorisations étaient de 755.Je le change en 777 et
mysql
commence bien.la source
/tmp
nouvelle partition.Après une mise à jour automatique de mysqld-5.5.53 ubuntu 14.04.1, mysql ne pouvait pas démarrer. Ces lignes sont apparues dans mon syslog:
Le problème a été résolu en créant ce répertoire:
la source
Vous venez de mettre à jour la version de MySQL et AppArmor comme suggéré ici pour résoudre ce problème sous Ubuntu 12.04 exécuté sur une instance Amazon ec2. Je reçois toujours l'erreur quelques fois mais MySQL se redémarre automatiquement.
la source
J'ai eu les mêmes messages d'erreur, mais la cause était différente. Mes tables InnoDB étaient corrompues, car tout le système de fichiers était en lecture seule. J'ai corrigé la corruption en ajoutant la ligne suivante à /etc/mysql/my.cf
J'ai démarré MySQL:
MySQL a démarré et j'ai vidé / exporté toutes les tables. J'ai changé la valeur innodb_force_recovery en 0 (= par défaut) et j'ai redémarré MySQL:
J'utilise Ubuntu 12.04 avec MySQL 5.5. J'ai mis longtemps à trouver le problème et j'espère pouvoir aider quelqu'un avec cette réponse. Voir aussi http://dev.mysql.com/doc/refman/5.5/en/forcing-innodb-recovery.html
la source
Dans mon cas, le problème était l'
/etc/mysql/my.cnf
autorisation de fichier.Je l’ai changé par cenvenience mais cela a causé des erreurs comme
La
my.cnf
permission était de 766 et je l'ai changée en 744 et deux des trois erreurs sont parties. Il y a toujours un message d'erreur similaire mais cela n'a pas empêché mysql de démarrer.J'espère que cela t'aides...
la source
Dans mon cas, j'ai eu une mauvaise
bind-address
déclaration. J'ai couruifconfig
pour découvrir l'adresse IP privée de l'EC2 et l' ai mise à jour dans le/etc/mysql/my.cnf
fichier.la source
Dans mon cas, j'ai trouvé un problème de permission sur / tmp. Je viens de configurer l'autorisation du répertoire du tmp sur 766 et de redémarrer le service mysql. Fixé sur.
la source