天天看點

MySql通過binlog回複資料

MySql通過binlog回複資料

      • 記錄以備後用

記錄以備後用

-- 檢視binlog開啟狀态
show variables like 'log_bin';
-- 檢視binlog存儲位置
show variables like 'log_bin_basename';
-- 檢視所有binlog日志清單
show master logs;
-- 檢視master狀态,即最後(最新)一個binlog日志的編号名稱,及其最後一個操作事件pos結束點(Position)值
show master status;
-- 重新整理log日志,自此刻開始産生一個新編号的binlog日志檔案
flush logs;
-- 檢視binlog中内容 
-- 格式:show binlog events [IN 'log_name'] [FROM pos] [LIMIT [offset,] row_count];
/*
選項解析:
		 in 'log_name'   指定要查詢的binlog檔案名(不指定就是第一個binlog檔案)
		 from pos        指定從哪個pos起始點開始查起(不指定就是從整個檔案首個pos點開始算)
		 limit[offset,]  偏移量(不指定就是0)
		 row_count       查詢總條數(不指定就是所有行)
*/
-- 例子:
show binlog events in 'binlog.000081' from 1252 limit 1000;
-- 從binlog日志恢複資料
-- 格式:mysqlbinlog log_name | mysql -u使用者名 -p密碼 資料庫名
/*
常用選項:
          --start-position=953                   起始pos點
          --stop-position=1437                   結束pos點
          --start-datetime="2013-11-29 13:18:54" 起始時間點
          --stop-datetime="2013-11-29 13:21:53"  結束時間點
          --database=zyyshop                     指定隻恢複zyyshop資料庫(一台主機上往往有多個資料庫,隻限本地log日志)
*/
-- 例子:
-- mysql> mysqlbinlog --stop-position=464 --database=newstandard 'C:\ProgramData\MySQL\MySQL Server 8.0\Data\binlog.000080' | mysql -uroot -proot 
-- mysql> mysqlbinlog --stop-datetime='2019-03-28 17:24:00' --database=newstandard 'C:\ProgramData\MySQL\MySQL Server 8.0\Data\binlog.000080' | mysql -uroot -proot 
           

繼續閱讀