天天看点

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 
           

继续阅读