在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。