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

Terminal não reconhece comandos mysqld e mysql

Primeiro problema


Você está tentando executar o comando mysqld_safe , então esse comando deve estar no PATH onde o terminal procura por comandos. (Você pode ver esses locais executando echo $PATH . Os diferentes locais são separados por dois pontos).

Como você está tentando executar um arquivo que está no diretório local, digite ./mysqld_safe para informar ao shell que você está fornecendo um caminho para o arquivo, caso contrário, ele o procurará no PATH . (Você pode executar o arquivo de qualquer lugar especificando o caminho completo).

Outra solução é fazer um link simbólico em /usr/local/bin/ que aponta para /usr/local/mysql/mysqld_safe` (que é o caminho para o comando se eu entendi corretamente). Dessa forma, você pode executar o comando de qualquer lugar porque está no caminho que o shell está procurando.

Segundo problema


O cat comando cercado por acentos graves é executado pelo shell antes executando o comando sudo (se o arquivo for legível para todos, o shell executará algo como:sudo kill 12345 ).

Para executar o cat como root você deve executar este comando:
sudo bash -c 'kill `cat /usr/local/mysql/data/rodongi.pid`'

Dessa forma, você executa o bash como root, que por sua vez executa o kill comando e, portanto, lê o rodongi.pid arquivo como root.