mysql binglog server的设置方法【原创】
MySQL备份数据都是MySQL备份+binlog,这样才能保证数据的完整性。下面就是利用mysqlbinlog搭建mysql binlog server,可以把binlog传到远程存储上。
试验环境
MySQL binlog 源服务器:10.72.16.112
MySQL binlog server目的服务器:10.72.16.50
因为需要把10.72.16.112的binlog传到10.72.16.50上,在10.72.16.50执行
mysqlbinlog --read-from-remote-server --raw --host=10.72.16.112 --port=3306 --user=repl --password=密码 --stop-never mysql-bin.000006
参数说明如下:
--read-from-remote-server:用于备份远程服务器的binlog。如果不指定该选项,则会查找本地的binlog。
--raw:binlog日志会以二进制格式存储在磁盘中,如果不指定该选项,则会以文本形式保存。
--user:复制的MySQL用户,只需要授予REPLICATION SLAVE权限。
--stop-never:mysqlbinlog可以只从远程服务器获取指定的几个binlog,也可将不断生成的binlog保存到本地。指定此选项,代表只要远程服务器不关闭或者连接未断开,mysqlbinlog就会不断的复制远程服务器上的binlog。
mysql-bin.000006:代表从哪个binlog开始复制,一般会从mysql-bin.000001开始
--stop-never-slave-server-id:在备份远程服务器的binlog时,mysqlbinlog本质上就相当于一个从服务器,该选项就是用来指定从服务器的server-id的。默认为-1。
--to-last-log:代表mysqlbinlog不仅能够获取指定的binlog,还能获取其后生成的binlog,获取完了,才终止。如果指定了--stop-never选项则会隐式打开--to-last-log选项。
提示:备份的目录是命令所运行的目录
有个问题就是mysqlbinlog断掉后,只能重新运行并指定从哪个binlog开始同步。写个shell监控mysqlbinlog进程,如下:
#!/bin/bash
# 将日期记入日志 date
# 由于磁盘空间有限,删除3天前的binlog find /root/70_binlogs/ -name "mysql-bin*" -mtime +3 -exec rm -rf {} \;
# 找到最新的binlog名字 binlogfile=`ls -lthr /root/70_binlogs|tail -n1|awk '{print $NF}'`
# 判断mysqlbinlog进程是否存在,如果不存在就重启mysqlbinlog
ps -ef|grep -w mysqlbinlog|grep -v grep if [[ $? = 0 ]];then echo "mysqlbinglog process is ok." else echo "mysqlbinglog process is not work." cd /root/70_binlogs if [[ $? = 0 ]];then /usr/local/mysql/bin/mysqlbinlog --read-from-remote-server --raw --host=IP --port=3307 --user=user --password=password --stop-never $binlogfile & else echo "mysqlbinglog command excute fail." exit fi fi
加入crontab,每分钟执行一次
[root@test1 ~]# crontab -l # mysqlbinlog server monitor */1 * * * * sh /root/mysqlbinlog_check.sh >> /tmp/mysqlbinlog_server.log
欢迎转载,请注明出处
参考
如何远程备份MySQL binlog - iVictor - 博客园 https://www.cnblogs.com/ivictor/p/5502240.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2017-07-06 RAID总结
2016-07-06 Mysql 自动备份脚本
2016-07-06 迄今最安全的MySQL?细数5.7那些惊艳与鸡肋的新特性(上)【转载】