mariadb systemctl stopは長時間待機し、コマンドが終了した後にmysqlプロセスが実行されています。

mariadb systemctl stopは長時間待機し、コマンドが終了した後にmysqlプロセスが実行されています。

10.3オペレーティングシステムでMariadbを実行しています。CentOS Linux release 8.2.2004 (Core)起動中にmariadbが正常に起動します。

しかし、これはsystemctl stop mariadb停止します。

システムファイル

# systemctl cat mariadb|egrep -v '^$|#'
[Unit]
Description=MariaDB 10.3 database server
Documentation=man:mysqld(8)
Documentation=https://mariadb.com/kb/en/library/systemd/
After=network.target
[Install]
WantedBy=multi-user.target
Alias=mysql.service
Alias=mysqld.service
[Service]
Type=notify
User=mysql
Group=mysql
ExecStartPre=/usr/libexec/mysql-check-socket
ExecStartPre=/usr/libexec/mysql-prepare-db-dir %n
ExecStart=/usr/libexec/mysqld --basedir=/usr $MYSQLD_OPTS $_WSREP_NEW_CLUSTER
ExecStartPost=/usr/libexec/mysql-check-upgrade
PrivateNetwork=false
KillMode=process
KillSignal=SIGTERM
SendSIGKILL=no
Restart=on-abort
RestartSec=5s
UMask=007
TimeoutSec=300
PrivateTmp=true

停止コマンド

#systemctl stop mariadb
# pstree -a 89243
systemctl stop mariadb
  └─systemd-tty-ask --watch



# systemctl status mariadb -l
● mariadb.service - MariaDB 10.3 database server
   Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
   Active: failed (Result: timeout) since Fri 2020-12-04 18:14:05 EST; 2min 50s ago
     Docs: man:mysqld(8)
           https://mariadb.com/kb/en/library/systemd/
  Process: 1256 ExecStartPost=/usr/libexec/mysql-check-upgrade (code=exited, status=0/SUCCESS)
  Process: 995 ExecStartPre=/usr/libexec/mysql-prepare-db-dir mariadb.service (code=exited, status=0/SUCCESS)
  Process: 918 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS)
 Main PID: 1057
   Status: "Taking your SQL requests now..."
    Tasks: 30 (limit: 11053)
   Memory: 19.6M
   CGroup: /system.slice/mariadb.service
           └─1057 /usr/libexec/mysqld --basedir=/usr

Dec 03 12:27:42 dbserver01 mysql-check-socket[918]: No process is using /var/lib/mysql/mysql.sock, which means it is a garbage, so it will be removed automatically.
Dec 03 12:27:42 dbserver01 mysql-prepare-db-dir[995]: Database MariaDB is probably initialized in /var/lib/mysql already, nothing is done.
Dec 03 12:27:42 dbserver01 mysql-prepare-db-dir[995]: If this is not the case, make sure the /var/lib/mysql is empty before running mysql-prepare-db-dir.
Dec 03 12:27:42 dbserver01 mysqld[1057]: 2020-12-03 12:27:42 0 [Note] /usr/libexec/mysqld (mysqld 10.3.17-MariaDB) starting as process 1057 ...
Dec 03 12:27:43 dbserver01 systemd[1]: Started MariaDB 10.3 database server.
Dec 04 18:04:05 dbserver01 systemd[1]: Stopping MariaDB 10.3 database server...
Dec 04 18:09:05 dbserver01 systemd[1]: mariadb.service: State 'stop-sigterm' timed out. Skipping SIGKILL.
Dec 04 18:14:05 dbserver01 systemd[1]: mariadb.service: State 'stop-final-sigterm' timed out. Skipping SIGKILL. Entering failed mode.
Dec 04 18:14:05 dbserver01 systemd[1]: mariadb.service: Failed with result 'timeout'.
Dec 04 18:14:05 dbserver01 systemd[1]: Stopped MariaDB 10.3 database server.

プロセスはまだ実行中です。

# ps -fed |grep mysql
mysql       1057       1  0 Dec03 ?        00:00:47 /usr/libexec/mysqld --basedir=/usr

この問題をどのように解決しますか?

ありがとう SR

ベストアンサー1

おすすめ記事