mysqlbinlog 做实时增量备份是很有必要的,公司开发层误删过整个data目录,如果没有对binlog做实时备份。也没有从库的环境下,恢复也是很麻烦的。有了binlog再结合全备做基于时间点的恢复还是很方便的。
用法:
mkdir -p /backup_binlog mysqlbinlog -h56.56.56.207 -P3306 -ubackup -p123456 -R --raw --stop-never mysql-bin.000003 -r /backup_binlog/ &
[root@mysql_duizhang ~]# mysql -uroot -p123456 -e "show binary logs"
mysql: [Warning] Using a password on the command line interface can be insecure.
+------------------+-----------+
| Log_name | File_size |
+------------------+-----------+
| mysql-bin.000001 | 177 |
| mysql-bin.000002 | 93166 |
| mysql-bin.000003 | 1266693 |
| mysql-bin.000004 | 1190364 |
+------------------+-----------+
可以看到,把从3开始的binlog都拉取过来了。
[root@localhost backup_binlog]# ll
total 2404
-rw-r-----. 1 root root 1266693 Dec 29 22:20 mysql-bin.000003
-rw-r-----. 1 root root 1190364 Jan 8 22:42 mysql-bin.000004
源端提交了事务之后,会持续拉取最新的binlog到本地。
参数介绍:
-R : --read-from-remote-server 表示开启binlog备份,在对应的主节点上请求binlog到本地。
--raw : 被复制过来的binlog以二进制的格式存放,如果不加该参数则为text格式。
-r : --result-file 指定目录或文件名
-t : 这个选项代表从指定的binlog开始拉取,直到当前主节点上binlog的最后一个。
--stop-never : 持续连续从主节点拉取binlog,持续备份到当前最后一个.会一直拉取,直到mysql服务停止
--stop-never-slave-server-id : 默认值65535,用于在多个mysqlbinlog进程或者从服务器的情况下,避免id冲突。
mysqlbinlog开始备份后,直到mysql服务关闭或者被强制kill才会结束。
用法:
mkdir -p /backup_binlog mysqlbinlog -h56.56.56.207 -P3306 -ubackup -p123456 -R --raw --stop-never mysql-bin.000003 -r /backup_binlog/ &
[root@mysql_duizhang ~]# mysql -uroot -p123456 -e "show binary logs"
mysql: [Warning] Using a password on the command line interface can be insecure.
+------------------+-----------+
| Log_name | File_size |
+------------------+-----------+
| mysql-bin.000001 | 177 |
| mysql-bin.000002 | 93166 |
| mysql-bin.000003 | 1266693 |
| mysql-bin.000004 | 1190364 |
+------------------+-----------+
可以看到,把从3开始的binlog都拉取过来了。
[root@localhost backup_binlog]# ll
total 2404
-rw-r-----. 1 root root 1266693 Dec 29 22:20 mysql-bin.000003
-rw-r-----. 1 root root 1190364 Jan 8 22:42 mysql-bin.000004
源端提交了事务之后,会持续拉取最新的binlog到本地。
参数介绍:
-R : --read-from-remote-server 表示开启binlog备份,在对应的主节点上请求binlog到本地。
--raw : 被复制过来的binlog以二进制的格式存放,如果不加该参数则为text格式。
-r : --result-file 指定目录或文件名
-t : 这个选项代表从指定的binlog开始拉取,直到当前主节点上binlog的最后一个。
--stop-never : 持续连续从主节点拉取binlog,持续备份到当前最后一个.会一直拉取,直到mysql服务停止
--stop-never-slave-server-id : 默认值65535,用于在多个mysqlbinlog进程或者从服务器的情况下,避免id冲突。
mysqlbinlog开始备份后,直到mysql服务关闭或者被强制kill才会结束。