MySql-Server-Startfehler 'Der Server wurde beendet, ohne die PID-Datei zu aktualisieren '

Unter Snow Leopard führt der Start von MySQL zu folgendem Fehler:

Der Server wurde beendet, ohne die PID-Datei zu aktualisieren

my.cnf

[mysqld]
port            = 3306

socket          = /tmp/mysql.sock

skip-external-locking

key_buffer_size = 16K

pid-file=/var/run/mysqld/mysqld.pid

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

Versuchen Sie, Ihre Protokolldatei mit der Endung ".err" zu finden, sie sollte mehr Informationen enthalten. Es könnte in sein:

/usr/local/var/mysql/Ihr_Computer_name.local.err

Es ist wahrscheinlich ein Problem mit den Berechtigungen

  1. Prüfen Sie, ob eine mysql-Instanz läuft

ps -ef | grep mysql

Wenn ja, sollten Sie sie anhalten oder den Prozess beenden

kill -9 PID

wobei PID die Nummer ist, die neben dem Benutzernamen in der Ausgabe des vorherigen Befehls angezeigt wird

  1. Überprüfen Sie den Eigentümer von /usr/local/var/mysql/

ls -laF /usr/local/var/mysql/

wenn der Besitzer root ist, sollten Sie ihn in mysql oder Ihr_User ändern

sudo chown -R mysql /usr/local/var/mysql/

Kommentare (18)

Was sagt das Fehlerprotokoll? Ich hatte diese Fehlermeldung und es stellte sich heraus, dass es sich um eine alte, ungültige Einstellung in der my.cnf handelte, die im mysql-Fehlerprotokoll angezeigt wurde. Wenn es sich nicht um eine ungültige Konfigurationseinstellung handelt, sollte das Fehlerprotokoll Sie zumindest in die richtige Richtung weisen.

Nun, ich nehme an, dass der OP das Problem jetzt behoben hat... aber hoffentlich weist dies den anderen, die diesen Fehler sehen, den richtigen Weg.

Kommentare (0)

Ich hoffe, dass dies für Sie funktioniert.

Nachdem ich das Fehlerprotokoll überprüft habe, habe ich dies gefunden:

120309 17:42:49 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
120309 17:42:50 [Warning] Setting lower_case_table_names=2 because file system for /usr/local/mysql/data/ is case insensitive
120309 17:42:50 [Warning] You need to use --log-bin to make --binlog-format work.
120309 17:42:50 [Note] Plugin 'FEDERATED' is disabled.
120309 17:42:50 InnoDB: The InnoDB memory heap is disabled
120309 17:42:50 InnoDB: Mutexes and rw_locks use GCC atomic builtins
120309 17:42:50 InnoDB: Compressed tables use zlib 1.2.3
120309 17:42:50 InnoDB: Initializing buffer pool, size = 16.0M
120309 17:42:50 InnoDB: Completed initialization of buffer pool
120309 17:42:50  InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name /usr/local/mysql/data/ib_logfile0
InnoDB: File operation call: 'open'.
InnoDB: Cannot continue operation.
120309 17:42:50 mysqld_safe mysqld from pid file /usr/local/mysql/data/lu1s.local.pid ended

Und um das Problem zu lösen, habe ich dem gesamten mysql-Ordner Eigentumsrechte erteilt:

cd /usr/local
sudo chown mysql mysql
sudo chown mysql mysql-5.5.21-osx10.6-x86_64
sudo chown _mysql mysql
sudo chown _mysql mysql-5.5.21-osx10.6-x86_64

Dann (man kann es auch über die Kommandozeile machen) habe ich die Rechte (nachdem ich den Benutzern _mysql und mysql das Eigentum gegeben habe) auf alle enthaltenen Ordner im Menü "get info" des Ordners unter /usr/local/mysql-5.5.21-osx10.6-x86_64 angewendet. Sie brauchen das nicht in den Alias einzutragen, da es nur ein Alias ist.

Der Name des Ordners hängt von der Installationsversion von mysql ab, die Sie haben.

Kommentare (0)