为了实时了解到MySQL主从同步的状态,我们可以有多种方式,简单快捷的方式就是使用shell脚本,但是我们这里要说的是用zabbix来做监控,操作步骤如下。
1、 添加一个免密用户,例如zabbix,用于执行查询slave状态用(这里要注意看自己的复制方式,如果mysql库也同步的话,最好在master上面执行添加用户操作,如果在slave上执行,可能会导致主从失败,报1396错误)
mysql> create user 'zabbix'@'localhost';
Query OK, 0 rows affected (0.14 sec)
mysql> grant replication client on *.* to 'zabbix'@'localhost';
Query OK, 0 rows affected, 1 warning (0.03 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.06 sec)
2、 添加查看MySQL SLAVE的复制状态脚本,新建一个scripts目录用于存放自定义的脚本
mkdir /etc/zabbix/scripts
cd /etc/zabbix/scripts
vi mysql_replication.sh
#添加下面内容
echo "show slave status \G"|/usr/local/mysql/bin/mysql -uroot 2>/dev/null|grep -E "Slave_IO_Running|Slave_SQL_Running"|