2014-09-06 2 views
23

Ich bin nicht sicher, wie dieses Problem zu beheben:Fatal error: Bitte lesen Sie Abschnitt „Sicherheit“ des Handbuchs, um herauszufinden, wie als root ausführen mysqld

dyn-72-33-214-45:python mona$ sudo /usr/local/mysql/bin/mysqld stop 
2014-09-06 09:49:04 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 
2014-09-06 09:49:04 22992 [Warning] Setting lower_case_table_names=2 because file system for /usr/local/mysql-5.6.15-osx10.7-x86_64/data/ is case insensitive 
2014-09-06 09:49:04 22992 [ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root! 

2014-09-06 09:49:04 22992 [ERROR] Aborting 

2014-09-06 09:49:04 22992 [Note] Binlog end 
2014-09-06 09:49:04 22992 [Note] /usr/local/mysql/bin/mysqld: Shutdown complete 
+1

Ich nehme an, Sie wollten '' 'sudo /etc/init.d/mysql stop''' (ein Initskript und nicht die Binärdatei mysqld) ausführen. – MrTux

+0

/usr/local/mysql/bin/mysqladmin -u root shutdown – Donal

+0

@Donal/usr/local/mysql/bin/mysqladmin -u root herunterfahren /usr/local/mysql/bin/mysqladmin: Verbindung zum Server bei 'localhost 'fehlgeschlagen Fehler:' Verbindung zum lokalen MySQL-Server über Socket nicht möglich '/tmp/mysql.sock' (2) ' Überprüfen Sie, ob mysqld ausgeführt wird und dass der Socket:' /tmp/mysql.sock 'existiert! –

Antwort

74

Ich bin mit OS X (Yosemite) und dieser Fehler passiert mir, wenn ich von Mavericks zu Yosemite aufgewertet. Es wurde mit diesem Befehl gelöst

sudo /usr/local/mysql/support-files/mysql.server start 
+0

Wow! Danke vielmals! Wie bist du überhaupt zu dieser Lösung gekommen? (Google hat Sie vor allen Dokumenten gefunden :)) – yair

+0

Danke, das hat mir auch geholfen. – LarsH

+1

Während diese Lösung funktionierte, um MySQL zum Laufen zu bringen, scheint es nicht die korrekteste Lösung zu sein. Die MySQL-Dokumentation besagt, dass die Dateien in diesem Verzeichnis zum Aufbau des Servers dienen, nicht zur allgemeinen Verwendung. https://dev.mysql.com/doc/internals/de/support-files-directory.html – SacWebDeveloper

9

Der MySQL-Daemon nicht, da das System ausgeführt werden soll Benutzer root, die (normalerweise) keine Einschränkungen haben.

nach Ihrem cli, ich nehme an, Sie die Init-Skript stattdessen ausführen wollten:

sudo /etc/init.d/mysql stop 

Eine andere Möglichkeit wäre es, das mysqladmin-Tool zu verwenden (beachten Sie, root ist die MySQL-Benutzer root hier, nicht das System root Benutzer):

/usr/local/mysql/bin/mysqladmin --port=8889 -u root shutdown 
+2

Ich benutze osx! 'sudo: /etc/init.d/mysql: Befehl nicht gefunden' –

+0

Da Sie nicht den Standard-Port verwenden, müssen Sie Ihren speziellen Port dem zweiten Befehl oder dem Socket-Pfad hinzufügen:' '' --socket =/Anwendungen/MAMP/tmp/mysql/mysql.sock''' – MrTux

0

osx könnte launchctl verwenden, um mysql zu starten. Versuchen Sie folgendes:

sudo launchctl unload -w /Library/LaunchDaemons/com.mysql.mysqld.plist 
0

Donal hatte die richtige Lösung für mich. Allerdings ist die aktualisierte plist Name für 2017

com.oracle.oss.mysql.mysqld.plist. 
0

Versuchen Sie, diese für Amazon Linux AMI oder für CentOS

sudo service mysqld restart 
0

in meinem Fall (RHEL7 und MariaDB) das funktioniert.

sudo systemctl restart mariadb 
Verwandte Themen