Nie znaleziono polecenia MySQL w systemie OS X 10.7

163

Nie mogę uruchomić mojego MySQL na OS X 10.7. To jest zlokalizowane w/usr/local/mysql/bin/mysql

Nie znaleziono polecenia, kiedy wpisuję mysql --versionterminal.

Próbowałem, nie mogę uzyskać dostępu do mysql z wiersza poleceń Mac, ale nadal nie znaleziono polecenia. Próbowałem zainstalować mysql z dmg i próbowałem zainstalować go przez homebrew i nie mogę go uruchomić. Kiedy próbuję uruchomić mysql z homebrew, nie mogę uruchomić MySQL

To jest moje $PATH:

/ usr / bin: / bin: / usr / sbin: / sbin: / usr / local / bin: / usr / X11 / bin: / usr / local / git / bin: / Users / Victoria / bin: / usr / local // usr / local / mysql / bin / private / var / mysql / private / var / mysql / bin

SilverNightaFall
źródło
1
Czy katalog instalacyjny znajduje się w PATH?
Greg Hewgill
1
Należy sprawdzić kilka rzeczy. Najpierw dokładnie postępuj zgodnie z instrukcjami instalacji dostarczonymi z DMG i omów wszystkie odpowiednie kroki dla OS X. Dostępny jest również panel ustawień systemowych do uruchamiania / zatrzymywania mysql. Dodatkowo OSX jest znany ze zmiany lokalizacji mysql.sock - będziesz musiał ustawić go na /tmp/mysql.sock w my.cnf i php.ini - google, że będzie wiele przewodników
RiquezJP
mysql --version będzie działać tylko wtedy, gdy poinstruujesz BASH, aby miał to polecenie skrótu - jest to szczegółowo opisane w instalacji, przeczytaj mnie
RiquezJP
5
Jeśli przejdziesz do folderu mysql cd / usr / local / mysql / bin, a następnie wydasz polecenie wersji, zadziała. ./mysql --version
RiquezJP

Odpowiedzi:

371

Oto problem z twoją $ PATH:

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

$PATHto miejsce, w którym powłoka szuka plików poleceń. Foldery do przeszukania należy oddzielić dwukropkiem. I tak chcesz /usr/local/mysql/bin/na swojej ścieżce, ale zamiast tego szuka w /usr/local//usr/local/mysql/bin/private/var/mysql/private/var/mysql/bin, co prawdopodobnie nie istnieje.

Zamiast tego chcesz ${PATH}:/usr/local/mysql/bin.

Więc zrób export PATH=${PATH}:/usr/local/mysql/bin.

Jeśli chcesz, aby był uruchamiany za każdym razem, gdy otwierasz terminal, umieść go w pliku .bash_profile, który jest uruchamiany po otwarciu terminalu.

Hophat Abc
źródło
2
teraz pojawia się błąd, który otrzymywałem z homebrew ERROR 2002 (HY000): Nie można połączyć się z lokalnym serwerem MySQL przez gniazdo '/tmp/mysql.sock' (2)
SilverNightaFall
2
Oznacza to, że gniazdo mysql jest niewłaściwie umieszczone, co jest zupełnie innym błędem. To jest problem z mysql, a nie z twoim $PATH.
Hophat Abc
1
Zrób to, co powiedziała druga odpowiedź: Usuń ten plik pid, upewnij się, że wszystkie instancje są zatrzymane (zabij wszystkie procesy, które nie ulegają awarii), sprawdź, czy nic nie nasłuchuje portu MySQL 3306 (powinien pomóc netstat) i spróbuj ponownie uruchomić MySQL.
Hophat Abc
1
Polecam otwarcie Monitora aktywności i zabicie wszystkich instancji mysql
Hophat Abc
1
Mojego pliku binarnego mysql nie było /usr/local/mysql/bin.
user124384
29

Zmierzyłem się z tym samym problemem iw końcu znalazłem rozwiązanie. Wykonaj poniższe kroki, jeśli używasz MAMP.

  1. Uruchom MAMP lub MAMP PRO
  2. Uruchom serwer
  3. Otwórz terminal (Aplikacje -> Narzędzia)
  4. Wpisz: (jeden wiersz) / Applications / MAMP / Library / bin / mysql --host = localhost -uroot -proot

To działa dla mnie.

SreerajS
źródło
29

Jednym z alternatywnych sposobów jest tworzenie miękkich linków w /usr/local/bin

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

Ale jeśli potrzebujesz innych plików wykonywalnych, takich jak mysqldump, musisz utworzyć dla nich miękki link.

gzc
źródło
2
lubsudo ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql
Bob Stein
18

Musisz ustawić PATH dla mysql w swoim .bashrcpliku za pomocą:

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

Ale jeśli używasz oh my zsh, musisz dodać ścieżkę do .zshrcpliku.

shivam
źródło
9

Twoja ścieżka może nie zostać skonfigurowana. Przejdź do terminala i wpisz:

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

Zasadniczo umożliwia to dostęp do mysql z dowolnego miejsca.

Wpisz, cat .bash_profileaby sprawdzić, czy ścieżka PATH została skonfigurowana.

Sprawdź teraz wersję mysql :mysql --version

Jeśli to nadal nie zadziała, zamknij terminal i otwórz ponownie. Sprawdź wersję teraz, powinna działać. Powodzenia!

nurealam siddiq
źródło
8

Jeśli zainstalowałeś MySQL Server i nadal otrzymujesz

mysql -u root -p command not found

Najprawdopodobniej doświadczasz tego, ponieważ masz starszą wersję Maca.

Spróbuj tego:

w katalogu domowym w terminalu open -t .bash_profile

wklej do export PATH=${PATH}:/usr/local/mysql/bin/środka i zapisz go

zamiast pisać, mysql -uroot -pwklej w terminalu:

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

Wprowadź hasło. Teraz jesteś w środku.

Jackie Santana
źródło
3

Wypróbowałem wiele sugestii dotyczących SO, ale ta faktycznie zadziałała dla mnie:

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

potem piszesz

mysql

Poprosi Cię o wprowadzenie hasła.

zazu
źródło
Nie korzystałem z nowej wersji Maca, mój Mac zmarł :( więc nie mogę go już
testować
@zazu Przepraszamy za zgubienie.
Sajad
3

Jeśli korzystasz z terminala, będziesz chciał dodać następujące elementy do ./bash_profile

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

Jeśli używasz zsh, będziesz chciał dodać powyższą linię do swojego ~/.zshrc

Jon Gear
źródło
2

Dodaj następujące wiersze w bash_profile:

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

i zapisz bash_profile.

Teraz w terminalu uruchom i zatrzymaj serwer mysql za pomocą następujących poleceń:

startmysql //to start mysql server

i

stopmysql //to stop mysql server
KayV
źródło
2

Zainstalowałem MAMP i phpmyadmin działał.

Ale nie można znaleźć / usr / local / bin / mysql

To naprawiło

sudo ln -s /Applications/MAMP/Library/bin/mysql /usr/local/bin/mysql
zod
źródło
tworzy łącze symboliczne. Aby go usunąć, wypróbuj linuxize.com/post/how-to-remove-symbolic-links-in-linux
zod
1

Z MAMP

  1. Zlokalizuj mysql zwykle w / Applications / MAMP / Library / bin / mysql
  2. sudo vi / etc / path
  3. Dodaj tę ścieżkę do pliku / Applications / MAMP / Library / bin
  4. : wq (Zapisz i zamknij plik)
  5. Zamknij okna terminala
  6. Otwórz ponownie Terminal i wpisz mysql i powinno działać
user1502826
źródło
0

w terminalu zrobić:

vi ~/.bash_profile 

I dodaj tę linię:

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

i wpisz to w terminalu:

mysql -u [username] -p [password]
Boney
źródło
0

Może pomogę komuś innemu. Żadna z powyższych odpowiedzi nie zadziałała w przypadku Cataliny. Wreszcie rozwiązało to problem

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

Oczywiście musisz zmienić zainstalowaną wersję mysql

Manuel Ortiz
źródło