个人设计的开机启动脚本
给与/etc/rc.d/ro.local执行权限
chmod 755 /etc/rc.d/ro.local
添加一行
/tmp/scripts/mysql_binlogserver.sh
然后编辑/tmp/scripts/mysql_binlogserver.sh,添加执行权限
#!/usr/bin/env bash
#如果不是rpm包安装的mysql-community-client,需要更改下面mysql,mysqlbinlog二进制可执行文件路径,或者建立软链接至/usr/bin/,如
#ln -s /app/database/mysql-8.0.20-linux-glibc2.12-x86_64/bin/mysqlbinlog /usr/bin/mysqlbinlog
#取出主库当前正在使用的binlog日志文件名称,汉字内容两端<>为了美观,实际书写中无需添加
pos_binlog=`/usr/bin/mysql -u<用户名> -p<密码> -h<MySQL 主库服务器地址> -e 'show master status\G' 2>/dev/null | grep -Po '(?<=File:\s)\S+'`
#MHA conf文件中定义的binlogserver 路径,需要进入该目录执行以下命令
cd /data/mysql/binlog_server
#后台拉取主库 binlog命令
nohup /usr/bin/mysqlbinlog -R --host=<MySQL 主库服务器地址,此处使用VIP为佳> --user=<用户名> --password=<密码> --raw --stop-never ${pos_binlog} &>/dev/null &
#还可以加入masterha_manager的运行脚本
nohup masterha_manager --conf=/etc/masterha/app1.cnf --remove_dead_master_conf --ignore_last_failover < /dev/null > /var/log/masterha/app1.log 2>&1 &
#完毕
测试
重启binlog server后
root@localhost ~:# pgrep mysqlbinlog
1017
root@localhost ~:# masterha_check_repl --conf=/etc/masterha/app1.cnf
...
...
...
MySQL Replication Health is OK.
网友评论