Heim  >  Artikel  >  Datenbank  >  Was tun, wenn der MySQL-Start fehlschlägt?

Was tun, wenn der MySQL-Start fehlschlägt?

藏色散人
藏色散人Original
2021-12-28 10:53:025419Durchsuche

Lösung für MySQL-Startfehler: 1. Migrieren Sie das ursprüngliche Datenverzeichnis in das neu erstellte Datenverzeichnis. 2. Führen Sie „chown -R mysql:mysql /mydata/data/“ aus. "; 4. MySQL-bin löschen.

Was tun, wenn der MySQL-Start fehlschlägt?

Die Betriebsumgebung dieses Artikels: Windows 7-System, MySQL-Version 5.5, Dell G3-Computer.

Was soll ich tun, wenn der MySQL-Start fehlschlägt?

MySQL-Datenbank konnte nicht gestartet werden

Einführung:

Nach dem Neustart des Servers-->Starten Sie den Anwendungsdienst neu (Confluence)-->Fehlerbericht, Datenbankverbindung fehlgeschlagen (MySQL ist so eingestellt, dass sie beim Booten automatisch gestartet wird )-->Status der MySQL-Datenbank anzeigen:

[root@fisheye ~]# ps -ef | grep mysql
root     25555 21974  0 11:28 pts/0    00:00:00 grep mysql

Starten Sie den MySQL-Server

[root@fisheye data]# service mysql start
MySQL server PID file could not be found![失败]
Starting MySQL.............. ERROR! The server quit without updating PID file (/mydata/data/fisheye..pid).[失败]

Überprüfen Sie das Fehlerprotokoll:

[root@fisheye data]# tail -100 fisheye.err
InnoDB: Last MySQL binlog file position 0 337403929, file name ./mysql-bin.000016
141013  1:13:28  InnoDB: Waiting for the background threads to start
141013  1:13:29 InnoDB: 5.5.33 started; log sequence number 1006647152
17:13:29 UTC - mysqld got signal 11 ;
This could be because you hit a bug. It is also possible that this binary
or one of the libraries it was linked against is corrupt, improperly built,
or misconfigured. This error can also be caused by malfunctioning hardware.
We will try our best to scrape up some info that will hopefully help
di141013 01:13:29 mysqld_safe mysqld from pid file /mydata/data/fisheye.pid ended

Es ​​wurde keine offensichtliche Fehlermeldung gefunden. Versuchen Sie daher, manuell eine PID-Datei zu erstellen

[root@fisheye data]# touch /mydata/data/fisheye.pi

und starten Sie dann neu Service:

[root@fisheye data]# service mysql restart
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

Plötzlich dachte ich daran, es mir vorher anzusehen. Denken Sie nach dem Lesen solcher Artikel zur Fehlerberichterstattung daran, dass MySQL aufgrund unzureichenden Speicherplatzes möglicherweise nicht gestartet werden kann.

[root@fisheye data]# df -h
文件系统              容量  已用 可用 已用% 挂载点
/dev/sda1             9.5G  9.5G  0  100% /
/dev/sda4             5.5G  1.3G  4.0G  24% /mnt/backup
/dev/mapper/IhuilianVG-IhuilianLV00
                       22G  4.2G   17G  20% /var/www/app
tmpfs                 1.3G     0  1.3G   0% /dev/shm

Natürlich gibt es hier einige Lösungen für ähnliche Probleme (Start nicht möglich):

1. Es kann sein, dass die Partition, in der sich das Verzeichnis datadir befindet, voll ist (df -h)

Lösung: Öffnen Sie die Konfiguration Datei /etc/ my.cnf, geben Sie das Datenverzeichnis (datadir) im Abschnitt [mysqld] neu an und migrieren Sie das ursprüngliche Datenverzeichnis in das neu gestaltete Datenverzeichnis.

Informationen zur Migration: (1) Stellen Sie sicher, dass Sie die Berechtigungen ändern, wenn Verwenden von cp oder tar Bringen Sie es mit, es wird jedoch empfohlen, es erneut zu autorisieren, um Unfälle zu vermeiden. (2) Wenn die Daten relativ groß sind, müssen sie zuerst komprimiert und dann migriert werden, um die Integrität sicherzustellen, insbesondere wenn scp möglicherweise auf andere Computer übertragen wird Zeitüberschreitung, daher muss es komprimiert werden (tar.gz); (3) Wenn Sie auf einen anderen Server wechseln, müssen Sie sicherstellen, dass die MySQL-Version konsistent ist.

2. Es kann sein, dass die Datei /mydata/data/fisheye.pid keine Schreibberechtigung hat

Lösung: Erteilen Sie die Erlaubnis, führen Sie „chown -R mysql:mysql /mydata/data/“ aus und starten Sie dann mysqld neu!

3. Möglicherweise ist bereits ein MySQL-Prozess im Prozess vorhanden

Lösung: Verwenden Sie den Befehl „ps -ef|grep mysqld“, um zu überprüfen, ob ein MySQL-Prozess vorhanden ist, verwenden Sie „kill -9 Prozess-ID“. um es zu töten und dann mysqld neu zu starten!

4. Es ist möglicherweise das zweite Mal, dass ich MySQL auf dem Computer installiert habe, und es sind Restdaten vorhanden, die den Start des Dienstes beeinträchtigen.

Lösung: Gehen Sie in das MySQL-Datenverzeichnis/data und schauen Sie nach. Wenn mysql-bin.index vorhanden ist, löschen Sie es schnell. Es ist der Übeltäter.

5.skip-federated-Feldproblem (Fehlermeldung: [ERROR] /mydata/data/mysql/libexec/mysqld: unbekannte Option '--skip-federated')

Lösung: Überprüfen Sie, ob /etc/my.cnf vorhanden ist Gibt es ein unkommentiertes, überspringbares Feld in der Datei? Wenn ja, kommentieren Sie es sofort aus.

6. Wenn es sich um ein Centos-System handelt, ist Selinux standardmäßig aktiviert.

Lösung: Schließen Sie es, öffnen Sie /etc/selinux/config, ändern Sie SELINUX=enforcing in SELINUX=disabled, speichern Sie es und beenden Sie es. und versuchen Sie, die Maschine neu zu starten.

Empfohlenes Lernen: „MySQL-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas tun, wenn der MySQL-Start fehlschlägt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn