Ich habe einen einfachen Webserver (Debian 6.0 x86, DirectAdmin mit 1 GB Arbeitsspeicher und noch 10 GB freiem Speicherplatz, mySQl Version 5.5.9), aber der mySQL-Server stürzt immer wieder ab und ich muss alle mySQL-Prozesse beenden, um ihn neu starten zu können nochmal.
/var/log/mysql-error.log
Ausgabe:
130210 21:04:26 InnoDB: Using Linux native AIO
130210 21:04:34 InnoDB: Initializing buffer pool, size = 128.0M
130210 21:05:42 InnoDB: Completed initialization of buffer pool
130210 21:05:48 InnoDB: Initializing buffer pool, size = 128.0M
130210 21:06:22 InnoDB: Initializing buffer pool, size = 128.0M
130210 21:06:27 mysqld_safe mysqld from pid file /usr/local/mysql/data/website.pid ended
130210 21:06:29 mysqld_safe mysqld from pid file /usr/local/mysql/data/website.pid ended
130210 21:07:22 InnoDB: Completed initialization of buffer pool
130210 21:07:51 mysqld_safe mysqld from pid file /usr/local/mysql/data/website.pid ended
130210 21:08:33 InnoDB: Completed initialization of buffer pool
130210 21:12:03 [Note] Plugin 'FEDERATED' is disabled.
130210 21:12:47 InnoDB: The InnoDB memory heap is disabled
130210 21:12:47 InnoDB: Mutexes and rw_locks use InnoDB's own implementation
130210 21:12:47 InnoDB: Compressed tables use zlib 1.2.3
130210 21:12:47 InnoDB: Using Linux native AIO
130210 21:13:11 InnoDB: highest supported file format is Barracuda.
130210 21:13:23 InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: The log sequence number in ibdata files does not match
InnoDB: the log sequence number in the ib_logfiles!
130210 21:14:05 InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Unable to lock ./ibdata1, error: 11
InnoDB: Check that you do not already have another mysqld process
InnoDB: using the same InnoDB data or log files.
InnoDB: Unable to lock ./ibdata1, error: 11
InnoDB: Check that you do not already have another mysqld process
InnoDB: using the same InnoDB data or log files.
InnoDB: Unable to lock ./ibdata1, error: 11
InnoDB: Check that you do not already have another mysqld process
InnoDB: using the same InnoDB data or log files.
130210 21:17:53 InnoDB: Unable to open the first data file
InnoDB: Error in opening ./ibdata1
130210 21:17:53 InnoDB: Operating system error number 11 in a file operation.
Ich habe hier ein Thema auf der mySQL-Website gefunden, aber es gibt keine Lösung dafür.
Irgendwelche Ideen?
Antworten:
Ein anderer Ansatz aus einem Kommentar im selben Blog:
über http://www.webhostingtalk.com/archive/index.php/t-1070293.html
quelle
service mysql restart
zeigte bereits keinen laufenden Prozess,lsof
fand ihn aber. Killed it,service mysql start
und jetzt kann die Flut von Prozess fehlgeschlagenen E-Mails aufhören. Danke vielmals.mit Ubuntu 14.04. Ich habe dieses Problem, wenn ich versuche, über neu zu starten
Versuchen Sie es stattdessen
quelle
service job start
. Wenn Sie es mit dem init.d-Skript starten, weiß Upstart nichts darüber und es könnte versuchen um eine andere Instanz zu booten. (Zumindest ist dies bei den Standard-Init-Skripten von MySQL der Fall.)service
. Senden Sie Canonical möglicherweise eine Feature-Anfrage über deren Bug-Tracker?Die häufigste Ursache für dieses Problem ist der Versuch, MySQL zu starten, wenn es bereits ausgeführt wird.
Um es zu beheben, beenden Sie alle laufenden Instanzen von MySQL und starten Sie es dann mit Ihren normalen Startskripten neu, z
service mysql start
.Versuchen Sie nicht, MySQL manuell zu starten, wenn Sie Distributionsversionen verwenden, es sei denn, Sie sind auf eine Welt voller Verletzungen vorbereitet.
quelle
however the mySQL server keeps crashing
- Ich starte mySQL nicht neu. Es stürzt einfach von selbst ab, danach muss ich es offensichtlich neu starten. ;-)Lösung
Erstellen Sie eine Kopie der Originaldateien (ibdata1, ib_logfile0, ib_logfile1 ...).
http://cglreport.zhenhua.info/2008/08/mysql-error-unable-to-lock-ibdata1.html
quelle
Dies hat mir geholfen, es zu lösen:
Löschen Sie alle ibdata-Dateien und lassen Sie sie von mysql erstellen.
Stoppen Sie MySQL:
Gehe zur MySQL-Bibliothek:
Verschieben Sie innodb-Dateien an einen beliebigen Ort, falls Sie sie benötigen:
starte mysql:
quelle
Kam hier vom googeln des gleichen sich wiederholenden Fehlers aber mit Fehlercode 13 (
InnoDB: Unable to lock ./ibdata1, error: 13
). Nachdem ich viele Lösungen im Internet ausprobiert hatte, erfand ich eine, die mir half (apparmor!)Fügen Sie diese Zeilen zur Konfiguration hinzu
/etc/apparmor.d/usr.sbin.mysqld
(und laden Sie natürlich apparmor und mysql neu):Die wichtigsten Unterschiede zwischen oft Lösungen: zwei Regeln (für dir selbst und für alle Dateien innerhalb, beachten Sie die Doppel
**
) undk
Option mysql Lock - Dateien zu ermöglichen.Hoffe das hilft jemandem.
quelle
/etc/apparmor.d/local/usr.sbin.mysqld
. Erstellen Sie die Datei, wenn sie nicht vorhanden ist. Weitere Informationen finden Sie unter/etc/apparmor.d/local/README
Überprüfen Sie den Speicherplatz, um sicherzustellen, dass er 100% ist.
Als ob es voll wäre, würde es keine .sock-Datei erstellen.
quelle
Bitte überprüfen Sie, ob Sie
pid-file
Parameter im[mysql]
Abschnitt dermy.cnf
Datei haben. Wenn es nicht vorhanden ist,unable to lock ...ibdata1.. error:1
wird das auftreten.quelle
Einfach, aber schneller als mit "cp -a". Und geholfen, als "cp -a" und alles andere nicht konnte.
service mysql stop && pkill -f mysql
Beseitigen Sie alle MySQL-Prozesse
vi /etc/mysql/my.cnf
Ändern Sie den Parameter datadir = / var / lib / mysql in datadir = / var / lib / mysql2 (oder fügen Sie ihn hinzu, wenn Sie keinen haben)
mv /var/lib/mysql /var/lib/mysql2
Benennen Sie datadir in einen neuen Namen um
service mysql start
Bereiten Sie Ihr Tamburin vor
quelle
Wenn keine der anderen Lösungen funktioniert, ist das Problem wahrscheinlich auf eine falsche AppArmor-Konfiguration zurückzuführen.
Also mach einfach:
und starte dann MySQL neu (beachte, wie schnell es neu startet).
Ich habe festgestellt, dass im Zusammenhang mit AppArmor eine Datei fehlt:
Daher dachte ich, dass etwas mit AppArmors Konfiguration nicht stimmt.
quelle