Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Usando o Mysql na linha de comando em osx - comando não encontrado?


Portanto, existem poucos lugares onde o terminal procura comandos. Esses lugares são armazenados em seu $PATH variável. Pense nisso como uma variável global onde o terminal itera para procurar qualquer comando. Isso geralmente são binários, veja como a pasta /bin geralmente é referenciada.

/bin pasta tem muitos arquivos executáveis ​​dentro dela. Acontece que isso é comando. Esses diferentes locais de pasta são armazenados dentro de uma variável global, ou seja, $PATH separados por :

Agora, geralmente, os programas após a instalação cuidam da atualização do PATH &dizendo ao seu terminal que ei, eu posso ser todos os comandos dentro do meu bin pasta.

Acontece que o MySql não faz isso na instalação, então temos que fazer isso manualmente.

Fazemos isso seguindo o comando,
export PATH=$PATH:/usr/local/mysql/bin

Se você dividir, export é autoexplicativo. Pense nisso como uma tarefa. Então export uma variável PATH com valor antigo $PATH concat com novo bin ou seja, /usr/local/mysql/bin

Desta forma, depois de executar todos os comandos dentro de /usr/local/mysql/bin estão disponíveis para nós.

Há um pequeno problema aqui. Pense em uma janela de terminal como uma instância de programa e talvez algo como $PATH é variável de classe (talvez). Observe que isso é pura suposição. Assim, ao fechar, perdemos a nova atribuição. E se reabrirmos o terminal, não teremos acesso ao nosso comando novamente, porque da última vez que exportamos, ele foi armazenado na memória primária, que é volátil.

Agora precisamos ter nossos binários mysql exportados toda vez que usarmos o terminal. Então temos que persistir concat em nosso caminho.

Você deve estar ciente de que nosso terminal está usando algo chamado dotfiles para carregar a configuração na inicialização do terminal. Eu gosto de pensar que é como conjuntos de coisas passadas para o construtor toda vez que uma nova instância do terminal é criada (novamente uma suposição, mas próxima do que pode estar fazendo). Então, sim, agora você entendeu o que vamos fazer.

.bash_profile é um dos principais dotfile conhecidos .

Então, no seguinte comando,
echo 'export PATH=$PATH:/usr/local/mysql/bin' >> ~/.bash_profile

O que estamos fazendo é salvar o resultado de echo ou seja, string de saída para ~/.bash_profile

Então, agora, como observamos acima, toda vez que abrimos o terminal ou instância do terminal, nossos dotfiles são carregados. Então .bash_profile é carregado respectivamente e export que anexamos acima é executado e, portanto, nosso $PATH global é atualizado e obtemos todos os comandos dentro de /usr/local/mysql/bin .

P.s.

se você não estiver executando o primeiro comando export diretamente, mas apenas executando o segundo para persistir? Do que para a instância atual do terminal em execução, você precisa,
source ~/.bash_profile

Isso diz ao nosso terminal para recarregar esse arquivo específico.