国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 課堂 > 基礎知識 > 正文

從binlog中查出單個表的binlog信息

2024-09-12 20:30:00
字體:
來源:轉載
供稿:網友
  無聊研究binlog寫了個提取單個表的binlog 的信息,便于誤刪恢復數據,這樣做的目的是為了減少恢復時其他表可能引起的出錯,以及縮短恢復時間
  首先研究binlog日志的格式
  如下:
  /*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
  /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
  DELIMITER /*!*/;
  # at 4
  #160229 15:19:52 server id 162  end_log_pos 123 CRC32 0xbbe9b551 Start: binlog v 4, server v 5.7.9-log created 160229 15:19:52 at startup
  # Warning: this binlog is either in use or was not closed properly.
  ROLLBACK/*!*/;
  BINLOG '
  GPHTVg+iAAAAdwAAAHsAAAABAAQANS43LjktbG9nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAY8dNWEzgNAAgAEgAEBAQEEgAAXwAEGggAAAAICAgCAAAACgoKKioAEjQA
  AVG16bs=
  '/*!*/;
  # at 123
  #160229 15:19:52 server id 162  end_log_pos 154 CRC32 0xd473f6f4 Previous-GTIDs
  # [empty]
  # at 154
  #160229 15:18:07 server id 162  end_log_pos 219 CRC32 0xe86bb499 Anonymous_GTID last_committed=0 sequence_number=1
  SET @@SESSION.GTID_NEXT= 'ANONYMOUS'/*!*/;
  # at 219
  #160229 15:18:07 server id 162  end_log_pos 291 CRC32 0xe1803afe Query thread_id=102887 exec_time=341 error_code=0
  SET TIMESTAMP=1456730287/*!*/;
  SET @@session.pseudo_thread_id=102887/*!*/;
  SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
  SET @@session.sql_mode=524288/*!*/;
  SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
  /*!/C latin1 *//*!*/;
  SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=33/*!*/;
  SET @@session.lc_time_names=0/*!*/;
  SET @@session.collation_database=DEFAULT/*!*/;
  BEGIN
  /*!*/;
  # at 291
  #160229 15:18:07 server id 162  end_log_pos 343 CRC32 0xcfc435f2 Table_map: `test`.`ty` mapped to number 127
  # at 343
  #160229 15:18:07 server id 162  end_log_pos 463 CRC32 0xb4ef18fe Write_rows: table id 127 flags: STMT_END_F
  BINLOG '
  r/DTVhOiAAAANAAAAFcBAAAAAH8AAAAAAAEABHRlc3QAAnR5AAQDDw8DBBQAFAAP8jXEzw==
  r/DTVh7iAAAAeAAAAM8BAAAAAH8AAAAAAAEAAgAE//AFAAAABEVFRUUCQzFfAAAA8AEAAAAEQUFB
  QQJDMUMAAADwAwAAAARDQ0NDAkMxQwAAAPAEAAAABEREREQCQzFBAAAA8AIAAAAEQkJCQgJDMTcA
  AAD+GO+0
  '/*!*/;
  # at 463
  #160229 15:18:07 server id 162  end_log_pos 494 CRC32 0xed1fb95b Xid = 53
 
 
  COMMIT/*!*/;                                                                                                              -------到第一個commit為第一部分 為binlog必須的,缺失會報錯
  # at 494
  #160229 15:18:07 server id 162  end_log_pos 559 CRC32 0xef3ac14c Anonymous_GTID last_committed=1 sequence_number=2
  SET @@SESSION.GTID_NEXT= 'ANONYMOUS'/*!*/;
  # at 559
  #160229 15:18:07 server id 162  end_log_pos 631 CRC32 0xe834f1d8 Query thread_id=102887 exec_time=350 error_code=0
  SET TIMESTAMP=1456730287/*!*/;
  BEGIN
  /*!*/;
  # at 631
  #160229 15:18:07 server id 162  end_log_pos 683 CRC32 0xc64ac724 Table_map: `test`.`ty` mapped to number 127
  # at 683
  #160229 15:18:07 server id 162  end_log_pos 803 CRC32 0x4a5f1c75 Write_rows: table id 127 flags: STMT_END_F
  BINLOG '
  r/DTVhOiAAAANAAAAKsCAAAAAH8AAAAAAAEABHRlc3QAAnR5AAQDDw8DBBQAFAAPJMdKxg==
  r/DTVh7iAAAAeAAAACMDAAAAAH8AAAAAAAEAAgAE//AFAAAABEVFRUUCQzFfAAAA8AEAAAAEQUFB
  QQJDMUMAAADwAwAAAARDQ0NDAkMxQwAAAPAEAAAABEREREQCQzFBAAAA8AIAAAAEQkJCQgJDMTcA
  AAB1HF9K
  '/*!*/;
  # at 803
  #160229 15:18:07 server id 162  end_log_pos 834 CRC32 0x96148022 Xid = 77
 
  COMMIT/*!*/;                                                                                                                -------最后一個commit到最后必須存在
  SET @@SESSION.GTID_NEXT= 'AUTOMATIC' /* added by mysqlbinlog */ /*!*/;
  DELIMITER ;
  # End of log file
  /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
  /*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
  思路就是先將第一部分以及最后一部分提取出來,我們csplite文件(以COMMIT/*!*/; 為分隔標示,不熟悉csplit命令的先去熟悉一下用法),在第一以及最后一部分中間插入單個表的binlog 信息而拼接成一個符合binlog格式的日志文件

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 沙湾县| 赤峰市| 光山县| 广州市| 宜良县| 游戏| 灯塔市| 濮阳市| 兴海县| 赤城县| 阳新县| 靖安县| 贡山| 祁连县| 大方县| 永嘉县| 大英县| 安图县| 陇西县| 霞浦县| 隆化县| 淄博市| 合水县| 礼泉县| 新和县| 巩留县| 华阴市| 福建省| 额济纳旗| 望谟县| 河北区| 壤塘县| 静安区| 满洲里市| 鹤壁市| 六盘水市| 平塘县| 乌审旗| 金阳县| 乐安县| 伊宁县|