Como matar o mysql com pid em movimento

0

Eu tenho várias instâncias do mysql sendo executadas no OSX 10.10. /usr/local/mysql/bin/mysqld stop cospe vários avisos e erros, não sei se valem a pena compartilhar. Aqui está o primeiro erro 16164 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it. Running mysql_upgrade falha.

A execução de ps aux | grep mysql resulta em:

clayton         16179   0.0  0.0  2423356    228 s000  R+   10:58AM   0:00.00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn mysql
_mysql          15599   0.0  0.3  3070756  24508   ??  S    10:22AM   0:01.64 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/usr/local/mysql/data/Beast.local.err --pid-file=/usr/local/mysql/data/Beast.local.pid
root            15514   0.0  0.0  2452828    876   ??  Ss   10:22AM   0:00.02 /bin/sh /usr/local/mysql/bin/mysqld_safe --user=mysql

Eu tentei matar os processos sudo kill -15 16179 15599 15514 , mas meu processo de usuário pid muda. %código%. Se eu faço kill: 16179: No such process repetidamente, o pid do primeiro processo, possuído por clayton, aumenta 10 vezes a cada vez.

Então, a seguir tentei descarregar o mysql usando ps aux | grep mysql e launchctl unload /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist result em launchctl unload /Library/LaunchDaemons/com.mysql.mysql.plist .

Ugh. Estou definitivamente perplexo e não sei como proceder. Alguma sugestão?

    
por icicleking 08.10.2015 / 17:17

2 respostas

0

O processo provavelmente está renascendo toda vez que você tenta matá-lo.

Você sempre pode tentar usar pgrep e eliminá-los de uma só vez, por exemplo:

kill $(pgrep mysql)

Mas eu acho que a solução seria encontrar a fonte onde ela é reiniciada a cada vez, então tente verificar a lista de seus daemons em execução / do sistema usando launchctl :

sudo launchctl list

Em seguida, descarregue como descrito em: Como você interrompe o MySQL em uma instalação do Mac OS?

Se você tiver o problema com:

[ERROR] Can't open the mysql.plugin table.

provavelmente você está executando errado, não especificando os diretórios de dados do mysql correto. Então talvez valha a pena carregá-los novamente via launchctl , verificar como eles foram executados antes, ou localizar seu arquivo de configuração e verificar novamente a configuração, ou você tem o permissões erradas configuração.

Aqui está a sintaxe de amostra de como você pode executá-lo manualmente:

mysqld --defaults-file=/etc/mysql/my.cnf --basedir=/var/db/mysql --datadir=/var/db/mysql --plugin-dir=/var/db/mysql/lib/plugin --user=mysql --tmpdir=/tmp/mysql/tmpdir --log-error=/var/log/mysql_error_log.err --pid-file=/tmp/mysql/mysql.pid --socket=/tmp/mysql/mysql.sock --port=3306

Ao usar o MAMP, os parâmetros da linha de comando se parecem com:

/Applications/MAMP/Library/bin/mysqld --defaults-file=/Applications/MAMP/tmp/mysql/my.cnf --basedir=/Applications/MAMP/Library --datadir=/Library/Application Support/appsolute/MAMP PRO/db/mysql --plugin-dir=/Applications/MAMP/Library/lib/plugin --user=mysql --tmpdir=/Applications/MAMP/tmp/mysql/tmpdir --log-error=/Applications/MAMP/logs/mysql_error_log.err --pid-file=/Applications/MAMP/tmp/mysql/mysql.pid --socket=/Applications/MAMP/tmp/mysql/mysql.sock --port=3306 
    
por 08.10.2015 / 17:43
0

A primeira linha que você está vendo é o comando ps aux | grep mysql que você está (re) executando a cada vez, então não se preocupe.

Você deve ser capaz de matar o processo mysql pelo nome se você usar sudo pkill mysql .

    
por 08.10.2015 / 17:45