Como matar o serviço mysql (Percona Xtradb Cluster) no Linux?

0

Eu não posso matar completamente um serviço mysql no CentOS 7. Eu tentei encontrar todos os PIDs:

ps -ef | grep 'mysql'

e, em seguida, mate-os com kill -9 ...

mas o mysql recria depois de algum tempo.

Também tentei matá-lo assim:

killall -KILL mysql mysqld_safe mysqld

O mesmo efeito. Após alguns segundos, o mysql se junta novamente.

Por que isso acontece?

EDITADO:

# ps aux | grep mysql
root     15284  0.0  0.3 115384  1804 ?        Ss   12:10   0:00 /bin/sh /usr/bin/mysqld_safe --basedir=/usr  --wsrep-new-cluster 
mysql    15743  0.1 40.3 1353412 202276 ?      Sl   12:10   0:03 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --wsrep-provider=/usr/lib64/galera3/libgalera_smm.so --wsrep-new-cluster --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock --wsrep_start_position=43de3d74-bca8-11e6-a178-57b39b925285:9                                                                                                                         
root     16303  0.0  0.1 112648   976 pts/0    R+   12:56   0:00 grep --color=auto mysql

Estou usando um fork do mysql (Percona Xtradb Cluster) e ele não pode ser interrompido se o nó for particionado no cluster. Ele pode ser parado somente se eu desabilitar um serviço mysql e reinicializar um nó. Mas é muito melhor para mim matar o processo sem a reinicialização do nó. Então

systemctl stop mysql

Não funciona. Ele tenta pará-lo, mas sem sucesso.

Eu o instalei do repositório Percona via yum:

yum install Percona-XtraDB-Cluster-57

A situação é a próxima:
Houve 3 nós e eles falharam. Depois de algum tempo, apenas dois nós puderam iniciar. Mas eles estão esperando pelo terceiro nó. Eles têm estado: ativando. Se eu tentar parar o serviço mysql, ele mudará seu estado para: desativando. Mas isso não pode ser parado. Então, eu tento matar o serviço mysql e provisiono um novo cluster a partir de 2 nós. Mas não consigo parar o mysql sem reiniciar (a reinicialização não é uma solução para mim).

    
por Alexandr 08.12.2016 / 11:19

2 respostas

0

Eu descobri por que ele é reinicializado.

No arquivo de serviço /usr/lib/systemd/system/mysql.service , foi habilitado o reinício:

Restart=always

Comentei:

#Restart=always

Após a reinicialização da máquina, posso matar um processo mysql da seguinte forma:

killall -KILL mysql mysqld_safe mysqld
    
por 12.12.2016 / 17:08
0

Você pode marcar a entrada "/ etc / inittab" para o MySQL se ele estiver iniciando com o respawn. Se for, então você pode comentar a linha em "/ etc / inittab" Tente matar o mysql com o
kill -HUP PID do MYSQL

    
por 11.12.2016 / 13:45