Comando Mysql não encontrado no OS X 10.7

163

Não consigo fazer meu mysql iniciar no os x 10.7. Localiza-se em/usr/local/mysql/bin/mysql

Eu recebo o comando não encontrado quando digito mysql --versionno terminal.

Eu tentei isso não pode acessar o mysql na linha de comando mac, mas ainda assim o comando get não foi encontrado. Tentei instalar o mysql com o dmg e tentei instalá-lo através do homebrew e não consigo fazê-lo funcionar. Quando tento iniciar o mysql com homebrew, obtenho o MySQL não inicia

Este é o meu $PATH:

/ usr / bin: / bin: / usr / sbin: / sbin: / usr / local / bin: / usr / X11 / bin: / usr / local / git / bin: / Usuários / Victoria / bin: / usr / local // usr / local / mysql / bin / private / var / mysql / private / var / mysql / bin

SilverNightaFall
fonte
1
O diretório de instalação está no seu PATH?
Greg Hewgill
1
Há várias coisas para verificar. Primeiro, siga as instruções de instalação cuidadosamente fornecidas com o DMG e cubra todas as etapas relevantes para o OS X. Existe um painel de prefs do sistema fornecido para iniciar / parar o mysql também. Além disso, o OSX é notório por alterar a localização do mysql.sock - você precisará configurá-lo para /tmp/mysql.sock em my.cnf & php.ini - google, que haverá muitos guias
RiquezJP
mysql --version só irá funcionar se você instruir BASH ter esse comando de atalho - este é detalhado na instalação leia-me
RiquezJP
5
Se você navegar para a pasta mysql cd / usr / local / mysql / bin e emitir o comando version, ele funcionará. ./mysql --version
RiquezJP:

Respostas:

371

Este é o problema do seu $ PATH:

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

$PATHé onde o shell procura por arquivos de comando. As pastas para pesquisar precisam ser separadas por dois pontos. E assim você quer /usr/local/mysql/bin/no seu caminho, mas ele pesquisa /usr/local//usr/local/mysql/bin/private/var/mysql/private/var/mysql/bin, o que provavelmente não existe.

Em vez disso você quer ${PATH}:/usr/local/mysql/bin.

O mesmo acontece export PATH=${PATH}:/usr/local/mysql/bin.

Se você deseja que isso seja executado toda vez que você abrir o terminal, coloque-o no arquivo .bash_profile, que é executado quando o Terminal é aberto.

Hophat Abc
fonte
2
agora estou recebendo o erro que estava ocorrendo com o homebrew ERRO 2002 (HY000): Não é possível conectar-se ao servidor MySQL local através do soquete '/tmp/mysql.sock' (2)
SilverNightaFall
2
Isso significa que o soquete do mysql está extraviado, o que é um erro muito diferente. Esse é um problema com o mysql, não com o seu $PATH.
Hophat Abc
1
Faça o que a outra resposta disse: Remova este arquivo pid, verifique se todas as instâncias estão paradas (interrompa qualquer processo que não ocorra), verifique se nada está ouvindo a porta do MySQL 3306 (o netstat deve ajudar) e tente iniciar o MySQL novamente.
Hophat Abc
1
Eu recomendo abrir Activity Monitor e matar todas as instâncias do MySQL
Hophat Abc
1
Meu mysql binário não estava em /usr/local/mysql/bin.
user124384
29

Eu enfrentei o mesmo problema e, finalmente, consegui uma solução. Siga as etapas abaixo, se você estiver usando o MAMP.

  1. Iniciar o MAMP ou MAMP PRO
  2. Iniciar o servidor
  3. Terminal aberto (Aplicativos -> Utilitários)
  4. Digite: (uma linha) / Applications / MAMP / Library / bin / mysql --host = localhost -uroot -proot

Isso funciona para mim.

SreerajS
fonte
29

Uma maneira alternativa é criar um link flexível no /usr/local/bin

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

Mas se você precisar de outros executáveis ​​como mysqldump, precisará criar um link para eles.

gzc
fonte
2
ousudo ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql
Bob Stein
18

Você precisa definir PATH para mysql no seu .bashrcarquivo usando o seguinte:

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

Mas se você estiver usando oh my zsh, precisará adicionar o caminho dentro do .zshrcarquivo.

shivam
fonte
9

Seu PATH pode não estar configurado. Vá para o terminal e digite:

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

Essencialmente, isso permite que você acesse o mysql de qualquer lugar.

Digite cat .bash_profilepara verificar se o PATH foi configurado.

Verifique a versão do mysql agora:mysql --version

Se isso ainda não funcionar, feche o terminal e reabra. Verifique a versão agora, ela deve funcionar. Boa sorte!

nurealam siddiq
fonte
8

Se você instalou o MySQL Server e ainda assim obtém

mysql -u root -p command not found

Você provavelmente está enfrentando isso porque possui uma versão mais antiga do mac.

Tente o seguinte:

no diretório inicial no terminal open -t .bash_profile

cole export PATH=${PATH}:/usr/local/mysql/bin/dentro e salve-o

em vez de escrever, mysql -uroot -pcole o seguinte no seu terminal:

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

Coloque sua senha. Agora você está dentro

Jackie Santana
fonte
3

Eu tentei muitas sugestões no SO, mas essa é a que realmente funcionou para mim:

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

então você digita

mysql

Ele solicitará que você digite sua senha.

zazu
fonte
Eu não usei a nova versão Mac, meu mac morreu :( por isso não posso testá-lo mais
zazu
@zazu Desculpe por sua perda.
Sajad 17/09/17
3

Se você estiver usando o terminal, adicione o seguinte a ./bash_profile

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

Se você estiver usando o zsh, deseje adicionar a linha acima ao seu ~/.zshrc

Jon Gear
fonte
2

Adicione as seguintes linhas em bash_profile:

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

e salve o bash_profile.

Agora, no terminal, inicie e pare o servidor mysql usando os seguintes comandos:

startmysql //to start mysql server

e

stopmysql //to stop mysql server
KayV
fonte
2

Eu instalei o MAMP e o phpmyadmin estava funcionando.

Mas não é possível encontrar / usr / local / bin / mysql

Isso consertou

sudo ln -s /Applications/MAMP/Library/bin/mysql /usr/local/bin/mysql
zod
fonte
está criando um link simbólico. Para removê-lo, tente este linuxize.com/post/how-to-remove-symbolic-links-in-linux
zod 16/01
1

Com MAMP

  1. Localize o mysql normalmente em / Applications / MAMP / Library / bin / mysql
  2. sudo vi / etc / caminhos
  3. Adicione este caminho ao arquivo / Applications / MAMP / Library / bin
  4. : wq (salvar e sair do arquivo)
  5. Feche as janelas do terminal
  6. Reabra o Terminal e digite mysql e ele deve funcionar
user1502826
fonte
0

no terminal faça:

vi ~/.bash_profile 

E adicione esta linha:

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

e o tipo this no terminal:

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

Talvez eu ajude outra pessoa. Nenhuma das respostas acima funcionou para Catalina. Finalmente, isso resolveu o problema

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

Claro, você precisa mudar para a versão do mysql que instalou

Manuel Ortiz
fonte