import{_ as e}from"./plugin-vue_export-helper.21dcd24c.js";import{o as i,c as t,e as l}from"./app.a635d4fb.js";const n={},a=l(`

\u5927\u5BB6\u597D\uFF0C\u6211\u662F\u4E8C\u54E5\u5440~\u6211\u4EEC\u90FD\u77E5\u9053\uFF0C\u6570\u636E\u975E\u5E38\u91CD\u8981\u3002

\u7F51\u4E0A\u4E5F\u7ECF\u5E38\u770B\u5230\u4E00\u4E9B\u6BB5\u5B50\uFF0C\u67D0\u516C\u53F8\u7A0B\u5E8F\u5458\u5BF9\u5DE5\u4F5C\u4E0D\u6EE1\uFF0C\u5220\u5E93\u8DD1\u8DEF\uFF0C\u8001\u677F\u635F\u5931\u60E8\u91CD\uFF0C\u6B32\u54ED\u65E0\u6CEA\u3002\u8FD9\u4E0D\u524D\u51E0\u5929\u53C8\u7206\u51FA\u4E00\u4F8B\uFF0C\u67D0\u7A0B\u5E8F\u5458\u79BB\u804C\u5F53\u5929\u5220\u5E93\u8DD1\u8DEF\uFF01

\u90A3\u4E48\u6709\u6CA1\u6709\u4EC0\u4E48\u89E3\u51B3\u65B9\u6848\uFF1F\u5373\u4F7F\u6570\u636E\u5E93\u771F\u7684\u88AB\u5220\u4E86\uFF0C\u4E5F\u6709\u5907\u4EFD\u6570\u636E\uFF0C\u80FD\u5FEB\u901F\u6062\u590D\u3002\u751A\u81F3\u53EF\u4EE5\u505A\u5230\u5B9E\u65F6\u70ED\u5907\uFF0C\u5373\u4F7F\u5185\u90E8\u70B8\u6389\u5916\u90E8\u7528\u6237\u4E5F\u611F\u77E5\u4E0D\u5230\uFF0C\u4E00\u7247\u98CE\u5E73\u6D6A\u9759\u3002

MySQL \u4F5C\u4E3A\u5F53\u4E0B\u6D41\u884C\u6570\u636E\u5E93\uFF0C\u5728\u6570\u636E\u5907\u4EFD\u3001\u9AD8\u53EF\u7528\u65B9\u9762\u975E\u5E38\u6709\u7ADE\u4E89\u529B\uFF0C\u4ECA\u5929\uFF0C\u6211\u4EEC\u5C31\u91CD\u70B9\u804A\u4E00\u804A\u6570\u636E\u5907\u4EFD\u7684\u6740\u624B\u950F binlog\u3002

\u4E00\u3001MySQL \u4E3B\u5907\u662F\u4EC0\u4E48\uFF1F

\u60C5\u51B5\u4E00\uFF1A

\u60C5\u51B5\u4E8C\uFF1A

\u90A3\u4E48\uFF0C\u8FD9\u91CC\u9762\u6700\u6838\u5FC3\u7684\u6570\u636E\u540C\u6B65\u662F\u5982\u4F55\u5B9E\u73B0\u7684\u5462\uFF1F

\u4E8C\u3001\u4E3B\u4ECE\u540C\u6B65

1\u3001\u5728\u5907\u5E93\u6267\u884C change master \u547D\u4EE4 \uFF0C\u7ED1\u5B9A\u4E3B\u5E93\u7684\u4FE1\u606F

mysql> CHANGE MASTER TO MASTER_HOST = '192.168.1.1', MASTER_USER = 'repl', MASTER_PASSWORD = 'replpassword', MASTER_PORT = 3306, MASTER_AUTO_POSITION = 1, MASTER_RETRY_COUNT = 0, MASTER_HEARTBEAT_PERIOD = 10000; 

\u7B80\u5355\u89E3\u91CA\u4E0B\uFF1A

2\u3001\u5907\u5E93\u6267\u884C start slave \u547D\u4EE4\uFF0C\u5907\u5E93\u542F\u52A8\u4E24\u4E2A\u7EBF\u7A0B\uFF1AI/O thread \u548C SQL thread

3\u3001master\u4E3B\u5E93\uFF0C\u6709\u6570\u636E\u66F4\u65B0\uFF0C\u5C06\u6B64\u6B21\u66F4\u65B0\u7684\u4E8B\u4EF6\u7C7B\u578B\u5199\u5165\u5230\u4E3B\u5E93\u7684 binlog \u6587\u4EF6\u4E2D

4\u3001\u4E3B\u5E93\u4F1A\u521B\u5EFAlog dump \u7EBF\u7A0B\uFF0C\u901A\u77E5slave\u6709\u6570\u636E\u66F4\u65B0

5\u3001slave\uFF0C\u5411master\u8282\u70B9\u7684 log dump\u7EBF\u7A0B\u8BF7\u6C42\u4E00\u4EFD\u6307\u5B9Abinlog\u6587\u4EF6\u4F4D\u7F6E\u7684\u526F\u672C\uFF0C\u5E76\u5C06\u8BF7\u6C42\u56DE\u6765\u7684binlog\u5B58\u5230\u672C\u5730\u7684Relay log \u4E2D\u7EE7\u65E5\u5FD7\u4E2D

6\u3001slave \u518D\u5F00\u542F\u4E00\u4E2ASQL \u7EBF\u7A0B\u8BFB\u53D6Relay log\u65E5\u5FD7\uFF0C\u89E3\u6790\u51FA\u65E5\u5FD7\u91CC\u7684\u547D\u4EE4\uFF0C\u5E76\u6267\u884C\uFF0C\u4ECE\u800C\u4FDD\u8BC1\u4E3B\u5907\u5E93\u6570\u636E\u540C\u6B65

\u4E09\u3001\u5F00\u542F binlog

\u4ECE\u4EE5\u4E0A\u6B65\u9AA4\u53EF\u4EE5\u770B\u5F97\u51FA\uFF0Cbinlog \u8D77\u5230\u4E86\u975E\u5E38\u5173\u952E\u7684\u4F5C\u7528\uFF0C\u90A3\u5C31\u8BA9\u6211\u4EEC\u8FD1\u8DDD\u79BB\u770B\u4E0B binlog \u65E5\u5FD7\u3002

binlog \u683C\u5F0F\u6709\u4E09\u79CD\uFF1A

\u63A5\u4E0B\u6765\uFF0C\u6211\u4EEC\u6765\u505A\u4E00\u4E2A\u5B9E\u9A8C\uFF1A

\u5148\u521B\u5EFA\u4E00\u4E2A\u8868\uFF1A

CREATE TABLE \`person\` (
  \`id\` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '\u81EA\u589E\u4E3B\u952E',
  \`income\` bigint(20) NOT NULL COMMENT '\u6536\u5165',
  \`expend\` bigint(20) NOT NULL COMMENT '\u652F\u51FA',
  PRIMARY KEY (\`id\`),
  KEY \`idx_income\` (\`income\`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='\u4E2A\u4EBA\u6536\u652F\u8868';

\u63D2\u51654\u6761\u8BB0\u5F55\uFF1A

insert into person values(50,500,500);
insert into person values(60,600,600);
insert into person values(70,700,700);
insert into person values(80,800,800);

\u67E5\u770Bbinlog\u6A21\u5F0F\uFF1A

\u67E5\u770B\u5F53\u524D\u6B63\u5728\u5199\u5165\u7684binlog\u6587\u4EF6\uFF1A

\u67E5\u770B binlog \u4E2D\u7684\u5185\u5BB9\uFF0C\u6211\u4EEC\u5148\u6765\u770B\u4E0B row \u6A21\u5F0F

show binlog events in 'mysql-bin.000001';

\u8BF4\u660E\uFF1A

\u67E5\u627E binlog \u6587\u4EF6\u7684\u7269\u7406\u4F4D\u7F6E\uFF1A

root@167bfa3785f1:/# find / -name mysql-bin.000001
/var/lib/mysql/mysql-bin.000001

\u501F\u52A9 mysqlbinlog \u547D\u4EE4\uFF0C\u67E5\u770B\u5177\u4F53\u5185\u5BB9\uFF1A

mysqlbinlog -vv mysql-bin.000001 --start-position=2986;

\u7EA2\u6846\u4E2D\u7684\u5185\u5BB9\u8868\u793A\u6267\u884C\u4E86\u63D2\u5165\u547D\u4EE4\uFF0Cinsert into person values(80,800,800);

\u5176\u4E2D\uFF0C@1\u3001@2\u3001@3 \u8868\u793A\u8868 person \u7684\u7B2C\u51E0\u4E2A\u5B57\u6BB5\uFF0C\u4E0D\u7528\u539F\u59CB\u540D\u79F0\uFF0C\u662F\u4E3A\u4E86\u8282\u7701\u7A7A\u95F4\u3002

\u4FEE\u6539 binlog \u683C\u5F0F\uFF0C\u8BBE\u7F6E\u4E3A STATEMENT \uFF0C\u67E5\u770B\u65E5\u5FD7\u683C\u5F0F\uFF1A

set global binlog_format='STATEMENT';

\u8BBE\u7F6E\u4E4B\u540E\uFF0C\u9700\u8981\u9000\u51FAmysql\u91CD\u65B0\u8FDE\u63A5\uFF0C\u624D\u80FD\u770B\u5230\u751F\u6548

show binlog events in 'mysql-bin.000001';

\u4ECE\u4E0A\u56FE\u4E2D\u6211\u4EEC\u53EF\u4EE5\u770B\u51FA\uFF0C\u5F53 binlog_format=statement \u65F6\uFF0Cbinlog \u91CC\u9762\u8BB0\u5F55\u7684\u5C31\u662F SQL \u8BED\u53E5\u7684\u539F\u6587\u3002

\u5176\u4E2D\uFF0Cuse tomge \u8868\u793A\u8981\u5148\u5207\u5230\u5BF9\u5E94\u7684\u6570\u636E\u5E93

\u5982\u679C\u60F3\u4ECE\u6307\u5B9A\u4F4D\u7F6E\u67E5\u770Bbinlog\uFF0C\u53EF\u4EE5\u589E\u52A0 from \u53EF\u9009\u53C2\u6570\uFF0C\u5982\u4E0B\uFF1A

show binlog events in 'mysql-bin.000001'  from 5168;

statement \u4E0E row \u5BF9\u6BD4\uFF1A

statement \u683C\u5F0F\u7684binlog\u8BB0\u5F55\u7684\u662Fsql\u8BED\u53E5\uFF1Brow \u683C\u5F0F\u7684binlog\u8BB0\u5F55\u7684\u662Fevent\uFF08Table_map\uFF0CWrite_rows\uFF0CDelete_rows\uFF09

\u5F53 binlog \u5728 statement \u683C\u5F0F\u4E0B\uFF0C\u8BB0\u5F55\u7684\u662Fsql\u8BED\u53E5\uFF0C\u5728\u4E3B\u5E93\u6267\u884C\u65F6\u53EF\u80FD\u4F7F\u7528\u7684\u662F\u7D22\u5F15 A\uFF1B\u4F46\u662F\u540C\u6B65\u7ED9\u5907\u5E93\u6267\u884C\u65F6\uFF0C\u53EF\u80FD\u7528\u4E86 \u7D22\u5F15B\u3002

\u7D22\u5F15\u4E0D\u540C\uFF0C\u540C\u4E00\u6761sql\u8BED\u53E5\uFF0C\u8FD0\u884C\u7ED3\u679C\u53EF\u80FD\u4E5F\u4E0D\u4E00\u6837\u3002

\u9488\u5BF9\u8FD9\u4E2A\u573A\u666F\uFF0C\u6211\u4EEC\u5EFA\u8BAE\u91C7\u7528 row \u683C\u5F0F\u7684 binlog\u3002

\u5373\u4F7F\u6211\u4EEC\u4F7F\u7528\u4E86\u5E26where \u6761\u4EF6\uFF08\u5982\uFF1Aincome>720\uFF09\u7684delete\u8BED\u53E5\uFF0C\u4F46 binlog \u8BB0\u5F55\u7684\u662F\u8981\u5220\u9664\u7684\u4E3B\u952Eid\uFF08id =80 \uFF09\uFF0C\u6240\u4EE5\u4E0D\u4F1A\u51FA\u73B0\u5DEE\u9519\u3002

mixed \u683C\u5F0F \u7684binlog \u662F\u4E2A\u5565\uFF1F

\u7531\u4E8E statement \u683C\u5F0F\u7684binlog \u53EF\u80FD\u4F1A\u5BFC\u81F4\u4E3B\u5E93\u3001\u5907\u5E93\u95F4\u7684\u6570\u636E\u540C\u6B65\u4E0D\u4E00\u81F4\uFF0C\u56E0\u6B64\u6211\u4EEC\u4F1A\u91C7\u7528 row \u683C\u5F0F\u3002

\u4F46\u662F\uFF0Crow \u683C\u5F0F\u5360\u7528\u7684\u7A7A\u95F4\u5F88\u5927\uFF0C\u5199 binlog \u4E5F\u8981\u5360\u7528\u5927\u91CF\u7684 IO \u8D44\u6E90\u3002

\u6240\u4EE5\uFF0C\u5B98\u65B9\u63D0\u51FA\u4E00\u79CDmixed\u6DF7\u5408\u6A21\u5F0F\uFF0C\u96C6\u6210\u4E86\u4E24\u8005\u7684\u4F18\u70B9\u3002

\u5185\u5BB9\u5982\u4E0B\uFF1A

\u56DB\u3001\u6062\u590D\u6570\u636E

\u5F53\u7136\uFF0C\u6211\u4EEC\u8FD8\u5EFA\u8BAE\u628AMySQL \u7684binlog\u8BBE\u7F6E\u6210 row \u6A21\u5F0F\uFF0C\u56E0\u4E3A\u5B83\u53EF\u4EE5\u7528\u4E8E\u6570\u636E\u6062\u590D\u3002\u6211\u4EEC\u6765\u770B\u4E0B insert\u3001update\u3001delete \u4E09\u79CDDML\u64CD\u4F5C\u5982\u4F55\u6765\u6062\u590D\u6570\u636E\u7684\u3002

1\u3001delete\uFF1A

\u5F53\u6211\u4EEC\u6267\u884C delete \u547D\u4EE4\u65F6\uFF0C\u5982\u679C binlog_row_image \u8BBE\u7F6E\u4E86 'FULL'\uFF0C\u90A3\u4E48 Delete_rows \u91CC\u9762\uFF0C\u5305\u542B\u4E86\u5220\u6389\u7684\u884C\u7684\u6240\u6709\u5B57\u6BB5\u7684\u503C\u3002

\u5982\u679C\u8BEF\u5220\u4E86\uFF0C\u56E0\u4E3A binlog \u8BB0\u5F55\u4E86\u6240\u6709\u5B57\u6BB5\u7684\u503C\uFF0C\u53CD\u5411\u6267\u884C insert \u5C31\u53EF\u4EE5\u4E86\u3002

\u5F53 binlog_row_image \u8BBE\u7F6E\u4E3A MINIMAL\uFF0C\u53EA\u8BB0\u5F55\u5173\u952E\u4FE1\u606F\uFF0C\u6BD4\u5982 id=80 2\u3001insert\uFF1A

row \u683C\u5F0F\u4E0B\uFF0Cbinlog \u4F1A \u8BB0\u5F55 insert \u7684\u6240\u6709\u5B57\u6BB5\u503C\u3002

\u5982\u679C\u8BEF\u64CD\u4F5C\uFF0C\u53EA\u9700\u8981\u6839\u636E\u8FD9\u4E9B\u503C\u627E\u5230\u5BF9\u5E94\u7684\u884C\uFF0C\u518D\u6267\u884C delete \u64CD\u4F5C\u5373\u53EF

3\u3001update\uFF1A

row \u683C\u5F0F\u4E0B\uFF0Cbinlog \u4F1A \u8BB0\u5F55 update \u4FEE\u6539\u524D\u3001\u4FEE\u6539\u540E\u7684\u6574\u884C\u6570\u636E\u3002

\u5982\u679C\u8BEF\u64CD\u4F5C\uFF0C\u53EA\u9700\u8981\u7528\u4FEE\u6539\u524D\u7684\u6570\u636E\u8986\u76D6\u5373\u53EF\u3002

\u901A\u8FC7\u547D\u4EE4\u6765\u6062\u590D\u6570\u636E\uFF1A

\u5982\u679C\u8981\u6267\u884C\u6570\u636E\u6062\u590D\uFF0C\u53EF\u4EE5\u4F7F\u7528\u4E0B\u9762\u547D\u4EE4

mysqlbinlog mysql-bin.000001  --start-position=1  --stop-position=3000 | mysql -h192.168.0.1 -P3306 -u$user -p$pwd;

\u5C06 mysql-bin.000001 \u6587\u4EF6\u4F4D\u7F6E\u4ECE 1\u52303000 \u7684 binlog \u5728 192.168.0.1\u673A\u5668\u7684\u6570\u636E\u5E93\u4E0A\u56DE\u653E\uFF0C\u8FD8\u539F\u3002

OK\uFF0C\u641E\u5B9A\uFF0C\u518D\u4E5F\u4E0D\u6015\u5220\u5E93\u8DD1\u8DEF\u4E86\u3002


\u8F6C\u8F7D\u81EA\uFF1A\u5FAE\u89C2\u6280\u672F

\u8F6C\u8F7D\u94FE\u63A5\uFF1Ahttps://mp.weixin.qq.com/s/oD3Anvz3XCsrahn6WdeeNw

\u6CA1\u6709\u4EC0\u4E48\u4F7F\u6211\u505C\u7559\u2014\u2014\u9664\u4E86\u76EE\u7684\uFF0C\u7EB5\u7136\u5CB8\u65C1\u6709\u73AB\u7470\u3001\u6709\u7EFF\u836B\u3001\u6709\u5B81\u9759\u7684\u6E2F\u6E7E\uFF0C\u6211\u662F\u4E0D\u7CFB\u4E4B\u821F\u3002

`,94),s=[a];function r(d,p){return i(),t("div",null,s)}var g=e(n,[["render",r],["__file","deletedb-binlog-weiguanjishu.html.vue"]]);export{g as default};