如何重新启动用mysqld_safe启动的mysqld?

如何重新启动用mysqld_safe启动的mysqld?

我有ps

mysql     1562  0.0  0.0 113316  3064 ?        Ss   Sep01   0:00 /bin/sh /usr/bin/mysqld_safe --basedir=/usr
mysql     1895  1.8  1.0 3011308 251660 ?      Sl   Sep01 2828:21  \_ /usr/libexec/mysqld --basedir=/usr --datadir=/main_db/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mariadb/mariadb.log --pid-file=/var/run/mariadb/mariadb.pid --socket=/main_db/mysql/mysql.sock

在后台运行。

如何以同样的方式重新启动它?

我停了下来

mysqladmin -u root -p shutdown

然后执行以下操作并挂起:

sudo /usr/bin/mysqld_safe --basedir=/usr
201215 04:13:30 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'.
201215 04:13:30 mysqld_safe Starting mysqld daemon with databases from /main_db/mysql

现在如何停止并重新启动?


这也不起作用:

sudo runuser -l mysql -c 'mysqld_safe --basedir=/usr'
runuser: warning: cannot change directory to /var/lib/mysql: No such file or directory
This account is currently not available.

答案1

kill如果您知道进程的 ID,则始终可以使用 来终止进程,或者使用pkill与命令匹配的 来终止该进程(并且可能更危险,因为它可能匹配错误的进程或多个进程)。我会选择:

# pgrep -lf mysql

(如果运行后者,请更改mysqlmariadb)然后检查输出以获取PID(正确进程行上的第一个字段),然后使用kill

# kill -TERM <PID>

你可以检查MySQL 的手册了解其他信号以及它们如何影响 MySQL 服务器。

另一方面,我不确定“冷血”地杀死数据库服务器是个好主意,因为它可能会使数据库处于奇怪的状态。确保使用-TERM让它安全死亡。

我首先会尝试找出导致挂起的原因,并检查它是否真的挂起。 mysqld_safe不会分叉到后台,因此一旦启动,您将不会返回到 shell,并且(至少在我的情况下)不会做出反应^C,因此您显示的行为是预期的。打开另一个终端并运行pgrepkill如上所述,很好地杀死了服务器,如其日志所示:

2020-12-19 16:08:47 0 [Note] /usr/local/libexec/mariadbd (initiated by: unknown): Normal shutdown
2020-12-19 16:08:47 0 [Note] Event Scheduler: Purging the queue. 0 events
2020-12-19 16:08:47 0 [Note] InnoDB: FTS optimize thread exiting.
2020-12-19 16:08:47 0 [Note] InnoDB: Starting shutdown...
2020-12-19 16:08:47 0 [Note] InnoDB: Dumping buffer pool(s) to /var/mysql/ib_buffer_pool
2020-12-19 16:08:47 0 [Note] InnoDB: Buffer pool(s) dump completed at 201219 16:08:47
2020-12-19 16:08:47 0 [Note] InnoDB: Shutdown completed; log sequence number 126817447; transaction id 271335
2020-12-19 16:08:47 0 [Note] InnoDB: Removed temporary tablespace data file: "ibtmp1"
2020-12-19 16:08:47 0 [Note] /usr/local/libexec/mariadbd: Shutdown complete

相关内容