跳到主要内容

supervisor管理mysql

supervisor配置文件 /etc/supervisor/supervisord.conf 中定义了include,因此如果想要管理服务,就需要编辑 /etc/supervisor/config.d/*.ini 文件

[include] 
files = /etc/supervisor/config.d/*.ini

编辑mysql服务配置文件 /etc/supervisor/config.d/mysql.ini

说明

示例中的mysql是二进制安装在了 /usr/local/mysql ,例如数据目录是 /usr/local/mysql/data ,其余插件目录、错误日志目录、pid目录等还需要根据实际情况修改

[program:mysql]
command=/usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/usr/local/mysql/data/error.log --pid-file=/usr/local/mysql/data/hwyun.pid --socket=/tmp/mysql.sock
priority=1 ; 数字越高,优先级越高
numprocs=1 ; 启动几个进程
autostart=true ; 随着supervisord的启动而启动
autorestart=true ; 自动重启
startretries=10 ; 启动失败时的最多重试次数
exitcodes=0 ; 正常退出代码
stopsignal=KILL ; 用来杀死进程的信号
stopwaitsecs=10 ; 发送SIGKILL前的等待时间
redirect_stderr=true ; 重定向stderr到stdout

stdout_logfile_maxbytes = 1024MB
stdout_logfile_backups = 10
stdout_logfile = /var/log/supervisor/mysql.log

创建存放日志目录

mkdir -p /var/log/supervisor

将mysql加入supervisor

方法一 使用 supervisorctl update 程序名 把相应服务加入supervisor

$ supervisorctl update mysql
mysql: added process group

方法二 使用 supervisorctl 命令进入交互操作界面,然后再添加服务

$ supervisorctl
$ update mysql

查看服务运行

$ supervisorctl status mysql
mysql RUNNING pid 4415, uptime 0:00:36
Right Bottom Gif
Right Top GIF