Heute habe ich eine Neuinstallation von Ubuntu 12.04 durchgeführt und meine lokale Entwicklungsumgebung eingerichtet. Ich habe mysql installiert und bearbeitet /etc/mysql/my.cnf
, um InnoDB zu optimieren, aber wenn ich versuche, mysql neu zu starten, schlägt dies mit einem Fehler fehl:
[20:53][tom@Pochama:/var/www/website] (master) $ sudo service mysql restart
start: Job failed to start
Das Syslog zeigt, dass ein Problem mit dem Init-Skript vorliegt:
> 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
Irgendwelche Ideen?
Dinge, die ich bereits ausprobiert habe:
Ich habe gegoogelt und einen Ubuntu-Fehler mit Apparmor gefunden ( https://bugs.launchpad.net/ubuntu/+source/mysql-5.5/+bug/970366 ).
sudo apt-get install apparmor-utils
sudo aa-complain /usr/sbin/mysqld
sudo /etc/init.d/apparmor reload
aber es hat nicht geholfen. Ich kann mysql immer noch nicht starten.
Ich dachte auch, das Problem könnte darin liegen, dass die InnoDB-Protokolldateien eine andere Größe hatten als von mysql erwartet. Ich habe die innodb-Protokolldateien vor dem Neustart entfernt sudo mv /var/lib/mysql/ib_logfile* /tmp
. Aber kein Glück.
Umgehung: Ich habe 12.04 neu installiert und darauf geachtet, dass ich nichts anfasse/etc/mysql/my.cnf
. Mysql arbeitet, damit ich weitermachen kann, was ich tun muss. Aber ich muss es irgendwann ändern - hoffentlich habe ich eine Lösung gefunden, oder diese Frage wurde zu diesem Zeitpunkt beantwortet ...
dpkg-reconfigure mysql-server-5.5
Fehler in meiner Konfiguration wurde behoben.utf8_unicode_ci
ist besser. Jetzt sogarutf8mb4_unicode_ci
Innodb hat eine Standardeinstellung (innodb_buffer_pool_size), die auf 128 MB festgelegt ist - dies ist möglicherweise zu groß für Ihren Server (insbesondere, wenn Sie ein kleines Amazon EC2-AMI verwenden - wie ich es war) Leitung zu
/etc/mysql/my.cnf
Ich habe über dieses Update hier geschrieben http://www.mlynn.org/2012/07/mysql-5-5-on-ubuntu-12-04-job-failed-to-start
quelle
innodb_buffer_pool_size
niedrigere Einstellung war ein Teil der Lösung, aber achten Sie darauf, dass Ihnen möglicherweise nicht genügend Speicherplatz zur Verfügung steht.Ich hatte ein ähnliches Problem. Es war frustrierend, weil ich keine Fehlerprotokolle sehen konnte, die auf das Problem hinweisen.
In meinem Fall war der Wert, den ich für innodb_buffer_pool_size festgelegt hatte, zu groß für den Arbeitsspeicher des Servers.
Ich fand dies heraus, indem ich mysqld direkt als mysql-Benutzer ausführte.
Auf diese Weise sehen Sie tatsächlich die Fehlerausgabe.
quelle
Ich hatte auch ein ähnliches Problem. Die folgenden Elemente besagen, dass sie von MySQL Server 5.5 entfernt wurden.
Wenn Sie sie in Ihrem haben
my.cnf
, wird es nicht gestartet. Kommentiere sie mit aus#
.(Informationen stammen von: http://dev.mysql.com/doc/refman/5.5/en/replication-options-slave.html )
Die betroffenen Optionen werden in dieser Liste angezeigt:
quelle
Es scheint sich auf Fehler in der MySQL-Konfiguration in zu beschränken
/etc/mysql/my.cnf
und in den Dateien befinden/etc/mysql/conf.d/
.In meinem Fall war es ein falscher
bind-address
Wert, weil sich die IP-Adresse meines Rechners geändert hatte und MySQL nicht mehr binden konnte. Fühlen Sie sich frei, in diesem Blog-Artikel mehr darüber zu erfahren .quelle
Eine gute Möglichkeit zum Debuggen der Fehler im Post-Start-Prozess (
/etc/init/mysql.conf
) besteht darin, die Upstart-Protokolle zu überprüfen:Das gab mir einen Socket-Fehler:
In meinem Fall wurde es durch eine fehlende
user
Einstellung unter der[mysqld]
Gruppe in verursachtmy.cnf
quelle
Wenn ich nach dem Upgrade von 11.10 auf 12.04 einen ähnlichen MySQL-Fehler ("Job konnte nicht gestartet werden") hatte, kommentieren Sie # 27 unter https://bugs.launchpad.net/ubuntu/+source/mysql-dfsg-5.1/+bug/ 573318? Comments = bei mir hat alles perfekt geklappt . Zitat:
quelle
Für mich war die Lösung, die Linie zu entfernen ...
... das ist die MySQL 3.x-Syntax und muss auf geändert werden
quelle
Ich hatte das gleiche Problem. Es stellte sich heraus, dass es sich um die Replikationen von mysql my.cnf master slave handelte. Überprüfe dein
/var/log/mysql/error.log
.Ich hoffe das ist eine kleine Hilfe. Überprüfen Sie zuerst die MySQL-Einstellungen, bevor Sie zwei Stunden mit Apparmor verschwenden.
quelle
Ich hatte die gleichen Probleme, für mich
bind-address
war das in meiner/etc/mysql/my.cnf
Akte falsch eingestellt . Es scheint also, dass alles, was in my.cnf nicht stimmt, dieses Problem verursachen kann. Ich habe in den Protokollen nichts gefunden, was auf dieses Problem hinweist.quelle
Mein Problem war 0% des freien Speicherplatzes! Überprüfen :-)
quelle
Überprüfen Sie die
/tmp
Berechtigungen. Ich hatte dieses Problem, nachdem ich viele Male googelt und neu gestartet hatte, fand ich heraus, dass die/tmp
Berechtigungen 755 waren.Ich ändere es auf 777 und
mysql
fange gut an.quelle
/tmp
neuen Partition.Nach einem automatischen Update auf mysqld-5.5.53 ubuntu 14.04.1 konnte mysql nicht gestartet werden. Diese Zeilen tauchten in meinem Syslog auf:
Das Problem wurde durch Erstellen dieses Verzeichnisses behoben:
quelle
Gerade aktualisierte MySQL- und AppArmor-Version, wie hier vorgeschlagen , um dieses Problem unter Ubuntu 12.04 zu beheben, das auf einer Amazon ec2-Instanz ausgeführt wird. Ich erhalte immer noch ein paar Mal den Fehler, aber MySQL startet sich automatisch neu.
quelle
Ich hatte die gleichen Fehlermeldungen, aber die Ursache war unterschiedlich. Meine InnoDB-Tabellen waren beschädigt, weil das gesamte Dateisystem schreibgeschützt war. Ich habe die Beschädigung behoben, indem ich die folgende Zeile zu /etc/mysql/my.cf hinzugefügt habe
Ich habe MySQL gestartet:
MySQL wurde gestartet und ich exportierte alle Tabellen. Ich habe innodb_force_recovery auf 0 geändert (= Standard) und MySQL neu gestartet:
Ich benutze Ubuntu 12.04 mit MySQL 5.5. Es hat lange gedauert, bis ich das Problem gefunden habe und ich hoffe, dass ich jemandem mit dieser Antwort helfen kann. Siehe auch http://dev.mysql.com/doc/refman/5.5/de/forcing-innodb-recovery.html
quelle
In meinem Fall war das Problem das
/etc/mysql/my.cnf
Dateiberechtigung.Ich habe es aus Gründen der Annehmlichkeit geändert, aber es verursachte Fehler wie
Das
my.cnf
Erlaubnis war 766 und ich änderte sie zu 744 und zwei von drei Fehlern gingen weg. Es gibt immer noch eine ähnliche Fehlermeldung, die jedoch den Start von mysql nicht verhinderte.Hoffe das hilft...
quelle
In meinem Fall hatte ich eine falsche
bind-address
Erklärung. Ich bin gelaufenifconfig
, um die private IP-Adresse des EC2 zu ermitteln und habe sie in der/etc/mysql/my.cnf
Datei aktualisiert .quelle
In meinem Fall habe ich ein Berechtigungsproblem auf / tmp gefunden. Ich habe gerade die Verzeichnisberechtigung des tmp auf 766 gesetzt und den mysql-Dienst neu gestartet. Behoben.
quelle