在mysql数据库,如果数据库启动的时候,启用了log-bin选项,那么,
所有对于数据库的修改都会记录在binary log中,binary log可以用于数据库的恢复。
1.查看my.cnf中配置的log-bin参数
[mysql@redhat6 ~]$ grep "log-bin" /etc/my.cnf log-bin=/mysql/data/mysql-bin/mysql-bin #定义binary log所在的目录及bin log以什么名字开始。
2.查看binary log在操作系统上生成的文件
[mysql@redhat6 ~]$ cd /mysql/data/mysql-bin/ [mysql@redhat6 mysql-bin]$ ls -l total 969552 -rw-rw----. 1 mysql mysql 27693 Jan 18 17:15 mysql-bin.000001 -rw-rw----. 1 mysql mysql 1133097 Jan 18 17:15 mysql-bin.000002 -rw-rw----. 1 mysql mysql 264 Jan 18 17:20 mysql-bin.000003 -rw-rw----. 1 mysql mysql 26636 Jan 18 17:24 mysql-bin.000004 -rw-rw----. 1 mysql mysql 1133097 Jan 18 17:24 mysql-bin.000005 -rw-rw----. 1 mysql mysql 126 Jan 18 17:34 mysql-bin.000006 -rw-rw----. 1 mysql mysql 126 Jan 18 17:36 mysql-bin.000007 -rw-rw----. 1 mysql mysql 126 Jan 18 17:38 mysql-bin.000008 -rw-rw----. 1 mysql mysql 126 Jan 18 17:40 mysql-bin.000009 -rw-rw----. 1 mysql mysql 126 Jan 19 09:59 mysql-bin.000010 -rw-rw----. 1 mysql mysql 126 Jan 19 10:03 mysql-bin.000011 -rw-rw----. 1 mysql mysql 126 Jan 19 10:05 mysql-bin.000012 -rw-rw----. 1 mysql mysql 126 Jan 19 10:06 mysql-bin.000013 -rw-rw----. 1 mysql mysql 8428 Jan 19 17:57 mysql-bin.000014
3.mysql-bin.index文件是所有bin log文件的列表(列出所有binary log所在路径和名字,./表示的是data目录)
[mysql@redhat6 mysql-bin]$ cat mysql-bin.index ./mysql-bin.000001 ./mysql-bin.000002 ./mysql-bin.000003 ./mysql-bin.000004 ./mysql-bin.000005 ./mysql-bin.000006 ./mysql-bin.000007 ./mysql-bin.000008 ./mysql-bin.000009 ./mysql-bin.000010
4.查看当前数据库binary log的位置
mysql> show master status; +------------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+------------------+ | mysql-bin.000089 | 107 | | | +------------------+----------+--------------+------------------+
当前使用的bin log是“mysql-bin.000089”,位置是107
5.执行flush logs命令
mysql> flush logs; Query OK, 0 rows affected (0.04 sec) mysql> show master status; +------------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+------------------+ | mysql-bin.000090 | 107 | | | +------------------+----------+--------------+------------------+
通过执行flush logs命令之后,再次查询binary log信息,发现已经使用了一个新的bin log文件了。
flush logs命令的作用就是关闭当前使用的binary log,然后打开一个新的binary log文件,binlog文件的序号递增加1。