记录以备后用
-- 查看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