1、显示mysqlbinlog日志是否开启,以及存储位置
show variables like 'log_%';
2、查看所有binlog日志列表
mysql> show master logs;
3、查看master状态,即最后(最新)一个binlog日志的编号名称,及其最后一个操作事件pos结束点(Position)值
mysql> show master status;
4、刷新log日志,自此刻开始产生一个新编号的binlog日志文件
mysql> flush logs;
- 注:每当mysqld服务重启时,会自动执行此命令,刷新binlog日志;在mysqldump备份数据时加 -F 选项也会刷新binlog日志;
5、重置(清空)所有binlog日志
此命令切勿随便执行。
mysql> reset master;
6、查看binlog日志
mysqlbinlog --no-defaults --database=yqf mysql-bin.000666 |grep update |more
7、导出binlog日志
mysqlbinlog --no-defaults --database=yqf mysql-bin.000666 |grep update > yqf.txt
8、查询
# A.查询第一个(最早)的binlog日志:
mysql> show binlog events\G;
# B.指定查询 mysql-bin.000021 这个文件:
mysql> show binlog events in 'mysql-bin.000021'\G;
# C.指定查询 mysql-bin.000021 这个文件,从pos点:8224开始查起:
mysql> show binlog events in 'mysql-bin.000021' from 8224\G;
# D.指定查询 mysql-bin.000021 这个文件,从pos点:8224开始查起,查询10条
mysql> show binlog events in 'mysql-bin.000021' from 8224 limit 10\G;
# E.指定查询 mysql-bin.000021 这个文件,从pos点:8224开始查起,偏移2行,查询10条
mysql> show binlog events in 'mysql-bin.000021' from 8224 limit 2,10\G;
8、数据恢复
mysqlbinlog mysql-bin.0000xx | mysql -u用户名 -p密码 数据库名
完全恢复,但有些需要剔除drop和delete语句
# /usr/local/mysql/bin/mysqlbinlog /usr/local/mysql/data/mysql-bin.000021 | /usr/local/mysql/bin/mysql -uroot -p123456 -v zyyshop