【MySQL】备份二进制日志--Binlog Server
admin
2023-05-02 14:44:00
0
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。


相关内容

热门资讯

国家数据局:支持地方通过“以数... 记者从国家数据局了解到,“数据要素×”城市行活动今天在南京启动,国家层面将支持各地积极挖...
河南多地出现巨大“不明飞行物”... 5月12日晚8点左右,安阳、新乡、焦作……河南多地夜空中出现一团发光“水母云”。这到底是什么东西呢?...
外交部:中方欢迎特朗普总统对中... 5月13日,外交部发言人郭嘉昆主持例行记者会。有记者就美国总统特朗普访华行前的相关言论提问。郭嘉昆表...
外交部质问日本右翼势力:是要打... 外交部:日本重走军国主义的回头路是一条不归路5月13日,外交部发言人郭嘉昆主持例行记者会。有记者问:...
2025年许昌市国民经济和社会... 【大河财立方消息】 5月12日,许昌市统计局、国家统计局许昌调查队发布2025年许昌市国民经济和社会...
我国首条深水油气装备工艺管线智... (来源:中国水运网) 转自:中国水运网 5月10日,海洋石油工程股份有限公司(简称“海油工程”)发布...
成都中科唯实申请一种真空蝶阀专... 国家知识产权局信息显示,成都中科唯实仪器有限责任公司申请一项名为“一种真空蝶阀”的专利,公开号CN1...
华为充电宝怎么样?西圣、图拉斯... 现如今市面上的选择可见是越来越多了,但“踩雷”情况也很常见:有的看起来容量大、实际给手机充电虚标非常...
智己汽车充电地图接入华为超充 ... 【CNMO科技消息】5月13日,智己汽车宣布,华为超充已正式上线其充电地图服务。即日起,智己用户可通...
爆火短剧《enemy》导演否认... 近日,短剧《enemy》凭借震撼人心的台词与浓烈的家国情怀爆火出圈。据钱江视频,5月13日,《ene...