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= --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 + -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 [[ $? = ]];then
echo "mysqlbinglog process is ok."
else
echo "mysqlbinglog process is not work."
cd /root/70_binlogs
if [[ $? = ]];then
/usr/local/mysql/bin/mysqlbinlog --read-from-remote-server --raw --host=IP --port= --user=user --password=password --stop-never $binlogfile &
else
echo "mysqlbinglog command excute fail."
exit
fi
fi

加入crontab,每分钟执行一次

[root@test1 ~]# crontab -l
# mysqlbinlog server monitor
*/ * * * * sh /root/mysqlbinlog_check.sh >> /tmp/mysqlbinlog_server.log

欢迎转载,请注明出处

参考

如何远程备份MySQL binlog - iVictor - 博客园 https://www.cnblogs.com/ivictor/p/5502240.html

最新文章

  1. 用java来删除数组中指定的元素
  2. QA、Selenium WebDriver (Q&A)
  3. jQuery实现滚动效果详解1
  4. 8 个最佳 PHP 库
  5. HTML5 <Audio/>标签Api整理(二)
  6. SQL window身份登陆 SQL server不能登陆
  7. Zend Guard Loader和Zend Optimizer的安装(更新中)
  8. zxing源码分析——QR码部分
  9. AC日记——codevs1688求逆序对
  10. 使用fontawesome图标
  11. 哈密顿绕行世界问题(dfs+记录路径)
  12. 使用 C# (.NET Core) 实现模板方法模式 (Template Method Pattern)
  13. React-propsType和defaultProps
  14. day04 list tuple
  15. URL和URL比较
  16. intellij与eclipse默认快捷键对比
  17. ERP行业内幕看了这五个问题全懂了
  18. CVE-2017-8912 CMS Made Simple命令执行
  19. TopK
  20. CUDA2.4-原理之性能优化及浮点运算

热门文章

  1. 【洛谷P1347】排序
  2. C#反射遍历/查询类中的属性以及值
  3. springboot配置多环境
  4. ev的offsetX,pageX,clientX和screenX
  5. HTML格式化标签
  6. Hadoop生态圈-离线方式部署Cloudera Manager5.15.1
  7. Hadoop集群-HDFS集群中大数据运维常用的命令总结
  8. mac安装神器brew
  9. myisamchk命令修复表操作
  10. 多目标遗传算法 ------ NSGA-II (部分源码解析)目标函数 problemdef.c