MySQL-Befehl in OS X 10.7 nicht gefunden

163

Ich kann mein MySQL nicht dazu bringen, auf OS X 10.7 zu starten. Es liegt in/usr/local/mysql/bin/mysql

Ich erhalte den Befehl nicht gefunden, wenn ich mysql --versiondas Terminal eingebe.

Ich habe versucht, dies kann nicht über Befehlszeilen-Mac auf MySQL zugreifen, aber der Befehl wurde immer noch nicht gefunden. Ich habe versucht, MySQL mit dem DMG zu installieren, und ich habe versucht, es über Homebrew zu installieren, und ich kann es nicht zum Laufen bringen. Wenn ich versuche, MySQL mit Homebrew zu starten, wird MySQL nicht gestartet

Das ist mein $PATH:

/ usr / bin: / bin: / usr / sbin: / sbin: / usr / local / bin: / usr / X11 / bin: / usr / local / git / bin: / Benutzer / Victoria / bin: / usr / local // usr / local / mysql / bin / privat / var / mysql / privat / var / mysql / bin

SilverNightaFall
quelle
1
Befindet sich das Installationsverzeichnis in Ihrem PATH?
Greg Hewgill
1
Es gibt eine Reihe von Dingen zu überprüfen. Befolgen Sie zunächst die mit der DMG gelieferten Installationsanweisungen sorgfältig und decken Sie alle relevanten Schritte für OS X ab. Zum Starten / Stoppen von MySQL steht auch ein System-Einstellungsfeld zur Verfügung. Darüber hinaus ist OSX dafür berüchtigt, den Speicherort von mysql.sock zu ändern - Sie müssen ihn in my.cnf & php.ini auf /tmp/mysql.sock setzen - google, es wird viele Anleitungen geben
RiquezJP
mysql --version funktioniert nur, wenn Sie BASH anweisen, diesen Verknüpfungsbefehl zu verwenden - dies wird in der Installation beschrieben. Lesen Sie mich
RiquezJP
5
Wenn Sie zum MySQL-Ordner cd / usr / local / mysql / bin navigieren und dann den Versionsbefehl ausgeben, funktioniert dies. ./mysql --version
RiquezJP

Antworten:

371

Dies ist das Problem mit Ihrem $ PATH:

/usr/local//usr/local/mysql/bin/private/var/mysql/private/var/mysql/bin.

$PATHHier sucht die Shell nach Befehlsdateien. Ordner, in denen gesucht werden soll, müssen durch einen Doppelpunkt getrennt werden. Und so wollen Sie /usr/local/mysql/bin/in Ihrem Weg, aber stattdessen sucht es in/usr/local//usr/local/mysql/bin/private/var/mysql/private/var/mysql/bin , was wahrscheinlich nicht existiert.

Stattdessen willst du ${PATH}:/usr/local/mysql/bin.

Also mach es export PATH=${PATH}:/usr/local/mysql/bin.

Wenn Sie möchten, dass dies jedes Mal ausgeführt wird, wenn Sie das Terminal öffnen, fügen Sie es in die Datei ein .bash_profile, die beim Öffnen des Terminals ausgeführt wird.

Hophat Abc
quelle
2
Jetzt erhalte ich den Fehler, den ich mit Homebrew ERROR 2002 (HY000) erhalten habe: Es kann keine Verbindung zum lokalen MySQL-Server über Socket '/tmp/mysql.sock' (2) hergestellt werden
SilverNightaFall
2
Dies bedeutet, dass der MySQL-Socket falsch platziert ist, was ein ganz anderer Fehler ist. Das ist ein Problem mit MySQL, nicht mit Ihrem $PATH.
Hophat Abc
1
Tun Sie, was die andere Antwort sagte: Entfernen Sie diese PID-Datei, stellen Sie sicher, dass alle Instanzen gestoppt sind (beenden Sie alle Prozesse, die nicht ausfallen), überprüfen Sie, ob der MySQL-Port 3306 nicht überwacht wird (netstat sollte helfen), und versuchen Sie, MySQL erneut zu starten.
Hophat Abc
1
Ich würde empfehlen, Activity Monitor zu öffnen und alle Instanzen von MySQL
Hophat Abc
1
Meine MySQL-Binärdatei war nicht in /usr/local/mysql/bin.
user124384
29

Ich stand vor dem gleichen Problem und bekam schließlich eine Lösung. Bitte führen Sie die folgenden Schritte aus, wenn Sie MAMP verwenden.

  1. Starten Sie MAMP oder MAMP PRO
  2. Starten Sie den Server
  3. Terminal öffnen (Anwendungen -> Dienstprogramme)
  4. Geben Sie Folgendes ein: (eine Zeile) / Applications / MAMP / Library / bin / mysql --host = localhost -uroot -proot

Das funktioniert bei mir.

SreerajS
quelle
29

Eine alternative Möglichkeit ist das Erstellen eines Softlinks in /usr/local/bin

ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql

Wenn Sie jedoch andere ausführbare Dateien benötigen mysqldump, müssen Sie einen Softlink für diese erstellen.

gzc
quelle
2
odersudo ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql
Bob Stein
18

Sie müssen PATH für MySQL in Ihrer .bashrcDatei wie folgt festlegen :

  export PATH=$PATH:/usr/local/mysql/bin

Wenn Sie jedoch verwenden oh my zsh, müssen Sie einen Pfad innerhalb der .zshrcDatei hinzufügen .

Shivam
quelle
9

Ihr PATH wird möglicherweise nicht eingerichtet. Gehen Sie zum Terminal und geben Sie Folgendes ein:

echo 'export PATH="/usr/local/mysql/bin:$PATH"' >> ~/.bash_profile

Im Wesentlichen können Sie so von überall auf MySQL zugreifen.

Art cat .bash_profile , um zu überprüfen, ob der Pfad eingerichtet wurde.

Überprüfen Sie jetzt die MySQL- Version:mysql --version

Wenn dies immer noch nicht funktioniert, schließen Sie das Terminal und öffnen Sie es erneut. Überprüfen Sie jetzt die Version, es sollte funktionieren. Viel Glück!

nurealam siddiq
quelle
8

Wenn Sie MySQL Server installiert haben und Sie immer noch bekommen

mysql -u root -p command not found

Dies tritt höchstwahrscheinlich auf, weil Sie eine ältere Mac-Version haben.

Versuche dies:

im Home-Verzeichnis im Terminal open -t .bash_profile

einfügen export PATH=${PATH}:/usr/local/mysql/bin/und speichern

Anstatt zu schreiben, mysql -uroot -pfügen Sie Folgendes in Ihr Terminal ein:

/usr/local/mysql/bin/mysql -uroot -p 

Geben Sie Ihr Passwort ein. Jetzt bist du drin.

Jackie Santana
quelle
3

Ich habe viele Vorschläge zu SO ausprobiert, aber dies ist derjenige, der tatsächlich für mich funktioniert hat:

sudo sh -c 'echo /usr/local/mysql/bin > /etc/paths.d/mysql'

dann tippst du

mysql

Sie werden aufgefordert, Ihr Passwort einzugeben.

zazu
quelle
Ich habe die neue Mac-Version nicht verwendet, mein Mac ist gestorben :( also kann ich sie nicht mehr testen
zazu
@zazu Sorry für deine verloren.
Sajad
3

Wenn Sie ein Terminal verwenden, möchten Sie Folgendes hinzufügen ./bash_profile

export PATH="/usr/local/mysql/bin:$PATH"

Wenn Sie zsh verwenden, möchten Sie die obige Zeile zu Ihrer hinzufügen ~/.zshrc

Jon Gear
quelle
2

Fügen Sie die folgenden Zeilen in bash_profile hinzu:

alias startmysql='sudo /usr/local/mysql/support-files/mysql.server start'
alias stopmysql='sudo /usr/local/mysql/support-files/mysql.server stop'

und speichern Sie das bash_profile.

Starten und stoppen Sie nun im Terminal den MySQL-Server mit den folgenden Befehlen:

startmysql //to start mysql server

und

stopmysql //to stop mysql server
KayV
quelle
2

Ich habe MAMP installiert und phpmyadmin hat funktioniert.

Kann aber / usr / local / bin / mysql nicht finden

Dies hat es behoben

sudo ln -s /Applications/MAMP/Library/bin/mysql /usr/local/bin/mysql
zod
quelle
Es wird ein Symlink erstellt. Um es zu entfernen, versuchen Sie es unter linuxize.com/post/how-to-remove-symbolic-links-in-linux
zod
1

Mit MAMP

  1. Suchen Sie MySQL normalerweise unter / Applications / MAMP / Library / bin / MySQL
  2. sudo vi / etc / path
  3. Fügen Sie diesen Pfad zur Datei / Applications / MAMP / Library / bin hinzu
  4. : wq (Datei speichern und beenden)
  5. Schließen Sie die Terminalfenster
  6. Öffnen Sie das Terminal erneut und geben Sie mysql ein. Es sollte funktionieren
user1502826
quelle
0

im Terminal tun:

vi ~/.bash_profile 

Und fügen Sie diese Zeile hinzu:

export PATH=${PATH}:/usr/local/mysql/bin

und geben Sie dies im Terminal ein:

mysql -u [username] -p [password]
Boney
quelle
0

Vielleicht helfe ich jemand anderem. Keine der oben genannten Antworten funktionierte für Catalina. Schließlich löste dies das Problem

echo 'export PATH="/usr/local/opt/[email protected]/bin:$PATH"' >> /Users/$(whoami)/.bash_profile

Natürlich müssen Sie die Version von MySQL ändern, die Sie installiert haben

Manuel Ortiz
quelle