Назад | Перейти на главную страницу

MySQL: порт 3306 не прослушивается, но процессы все еще существуют. Как сделать изящное выключение?

Это подчиненный сервер. mysqladmin shutdown висит на:

[Note] Event Scheduler: Purging the queue. 24 events 
[Note] Slave I/O thread killed while reading event 
[Note] Slave I/O thread exiting, read up to log 'mysql-bin.000878', position 848536790 

Итак, я нажал Ctrl+C, и терминал покажет следующее предупреждение:

Warning;  Aborted waiting on pid file: '/var/lib/mysql/x.pid' after 302 seconds

Процессы все еще существуют:

root 9623 1 0 10:18 pts/8 00:00:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/lib/mysql/x.pid

mysql 10357 9623 0 10:18 pts/8 00:00:06 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/var/log/mysqld.log --open-files-limit=100000 --pid-file=/var/lib/mysql/x.pid --socket=/var/lib/mysql/mysql.sock

но файл сокета отсутствует:

ls: /var/lib/mysql/mysql.sock: No such file or directory

и на порту 3306 ничего не прослушивается.

# netstat --inet -nlp | grep :3306
# lsof -i :3306
#

Отправка сигнала SIGTERM (kill -15) к дочернему процессу не работает. Что я могу сделать, но kill -9?

Ничего. Достаньте биту SIGKILL и приготовьтесь к восстановлению журнала.