MySQL-8.0 RESTART命令远程重启mysqld

MySQL在8.0版本中引入restart命令,实现远程重启mysqld进程的功能。好处不言而喻,能够在不登录操做系统的状况下,执行重启操做,对于运管上来讲也是一个很棒的功能。mysql

执行restart命令须要数据库帐号具有SHUTDOWN权限,而且mysqld是在systemd/mysqld_safe守护进程下启动的。web

原理是mysqld_safe检测mysqld退出时的返回值,若是是16,则进行重启。bash shell以下:sql

#!/bin/bash

export MYSQLD_PARENT_PID=$$

export MYSQLD_RESTART_EXIT=16

while true ; do
  bin/mysqld mysqld options here
  if [ $? -ne $MYSQLD_RESTART_EXIT ]; then
    break
  fi
done