mysql 二进制日志同步_【MySQL Database】远程同步二进制日志:Binlog Server

本文介绍了如何配置并使用mysqlbinlog从远程主库实时获取binlog,包括授权、启动mysqlbinlog进程以及相关参数解析,如--read-from-remote-server、--raw、--stop-never等,实现对binlog的持续复制和本地存储,从而实现数据备份和高可用性。
摘要由CSDN通过智能技术生成

mysqlbinlog会伪装成一个slave,连接主库请求指定的binlog file,

主库接收到这个请求之后创建一个binlog dump线程推送binlog给mysqlbinlog server。

[root@wallet01 ~]# mysql -uroot -pabcd.1234

mysql> grant replication slave on *.* to 'repl'@'%' identified by 'repl';

Query OK, 0 rows affected (0.08 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.03 sec)

mysql> show binary logs;

+------------------+-----------+

| Log_name | File_size |

+------------------+-----------+

| mysql-bin.000001 | 67152168 |

| mysql-bin.000002 | 67138954 |

| mysql-bin.000003 | 67133196 |

| mysql-bin.000004 | 67146060 |

| mysql-bin.000005 | 67172089 |

| mysql-bin.000006 | 12159668 |

+------------------+-----------+

6 rows in set (0.03 sec)

[root@wallet02 ~]# su - mysql

[mysql@wallet02 ~]$ mkdir binlog

[mysql@wallet02 ~]$ nohup mysqlbinlog -R --raw --host=192.168.40.34 --user=repl --password=repl --port=3306 \

--stop-never mysql-bin.000001 -r /home/mysql/binlog/&

[mysql@wallet02 ~]$ cd binlog

[mysql@wallet02 binlog]$ ls -lh

total 340M

-rw-r----- 1 mysql mysql 65M Sep 17 14:06 mysql-bin.000001

-rw-r----- 1 mysql mysql 65M Sep 17 14:06 mysql-bin.000002

-rw-r----- 1 mysql mysql 65M Sep 17 14:06 mysql-bin.000003

-rw-r----- 1 mysql mysql 65M Sep 17 14:06 mysql-bin.000004

-rw-r----- 1 mysql mysql 65M Sep 17 14:06 mysql-bin.000005

-rw-r----- 1 mysql mysql 20M Sep 17 14:06 mysql-bin.000006

参数解析

-R, --read-from-remote-server: 代表从远程mysql服务器上读取binlog。

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

--stop-never: mysqlbinlog可以只从远程服务器获取指定的几个binlog,也可将不断生成的binlog保存到本地。

指定此选项,代表只要远程服务器不关闭或者连接未断开,mysqlbinlog就会不断的复制远程服务器上的binlog。

--to-last-log:代表mysqlbinlog不仅能够获取指定的binlog,还能获取其后生成的binlog,获取完了,才终止。

如果指定了--stop-never选项则会隐式打开--to-last-log选项。

mysql-bin.000091:代表从哪个binlog开始复制。

--stop-never-slave-server-id:在备份远程服务器的binlog时,mysqlbinlog本质上就相当于一个从服务器,

该选项就是用来指定从服务器的server-id。

-r, --result-file=name: 用于设置远程服务器的binlog,保存到本地的前缀。

例如对于mysql-bin.000001,如果指定--result-file=/test/backup-,则保存到本地后的文件名为/test/backup-

mysql-bin.000001。

注意:如果将--result-file设置为目录,则一定要带上目录分隔符“/”。

例如--result-file=/test/,而不是--result-file=/test,否则保存到本地的文件名为/testmysql-bin.000001。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值