linuxsir首页 LinuxSir.Org | Linux、BSD、Solaris、Unix | 开源传万世,因有我参与欢迎您!
网站首页 | 设为首页 | 加入收藏
您所在的位置:主页 > Linux数据库 >

使用mysqlbinlog备份binlog 搭建Binlog Server

时间:2017-09-04  来源:未知  作者:admin666

binlog是增量备份必备之一,在有些场景下,实时或定期备份binlog是有必要的。
其实官方mysqlbinlog自带这个功能。


〇 常用的参数:
-R | --read-from-remote-server 表示开启binlog备份,在对应的主节点上请求binlog到本地。

--raw 被复制过来的binlog以二进制的格式存放,如果不加该参数则为text格式。

-r | --result-file 指定目录或文件名:
若指定了--raw参数,-r的值指定binlog的存放目录和文件名前缀;若没有指定--raw参数,-r的值指定文本存放的目录和文件名。

-t 这个选项代表从指定的binlog开始拉取,直到当前主节点上binlog的最后一个。

--stop-never 持续连续从主节点拉取binlog,持续备份到当前最后一个,并继续下去。该参数包含-t

--stop-never-slave-server-id 默认值65535,用于在多个mysqlbinlog进程或者从服务器的情况下,避免ID冲突。

mysqlbinlog开启备份后,直到连接关闭或者被强制kill才会结束。
可通过ps查看到已经开启的备份进程。

用法示例:完整并保持原样的将远程server的binlog拉到本地,并存放在/data/backup_binlog目录中。
注意,-r指定的目录必须写完整,否则会被放在/data目录下,并以"backup_binlog"为前缀命名binlog
如:-r /data/backup_binlog 则会显示为 /data/backup_binlogmysql-bin.000008


  1. mkdir -p /data/backup_binlog
  2. mysqlbinlog -h$ip -P$port -u$user -p$password -R --raw --stop-never mysql-bin.000008 -r /data/backup_binlog/ &

 

  1. [root@sAno1y backup_binlog]# mysql -h$ip -P$port -u$user -p$password -e "SHOW BINARY LOGS" 
  2. mysql: [Warning] Using a password on the command line interface can be insecure.
  3. +------------------+------------+
  4. | Log_name         | File_size  |
  5. +------------------+------------+
  6. | mysql-bin.000008 | 1073742873 |
  7. | mysql-bin.000009 | 284594590  |
  8. | mysql-bin.000010 | 396303459  |
  9. | mysql-bin.000011 | 154        |
  10. | mysql-bin.000012 | 154        |
  11. | mysql-bin.000013 | 154        |
  12. +------------------+------------+
  13. 检查拉取过来的binlog,与show binary logs结果一致。
  14. [root@sAno1y backup_binlog]# ll
  15. total 1713580
  16. -rw-r----- 1 root root 1073742873 Aug 22 17:12 mysql-bin.000008
  17. -rw-r----- 1 root root 284594590 Aug 22 17:13 mysql-bin.000009
  18. -rw-r----- 1 root root 396303459 Aug 22 17:13 mysql-bin.000010
  19. -rw-r----- 1 root root 154 Aug 22 17:13 mysql-bin.000011
  20. -rw-r----- 1 root root 154 Aug 22 17:13 mysql-bin.000012
  21. -rw-r----- 1 root root 154 Aug 22 17:13 mysql-bin.000013


在source实例提交了事务之后,因为加了--stop-never参数,故会持续拉取最新的binlog到本地。

作为DBA,有全备+binlog的副本,感觉睡觉都香了许多。

友情链接