一,二进制日志文件的作用
Mysql的二进制日志记录的是所有mysql数据库发生变更的信息,因此对数据库非常重要,二进制日志的作用我概括了一下主要包含如下几个方面:
1、可以用于数据库基于时间点的还原。
2、可以用来分析数据库发生更改的情况,比如程序的bug导致数据库数据更改等等。
3、二进制日志还可以用来重建数据库。
二,二进制日志相关的变量和参数
三,配置二进制日志
1,开启bin-log日志,在my.cnf中修改
指定了bin-log日志的路径,开启日志后需要myssqladmin flush log才生效,重启后我们发现在刚才设定的路径新增了log文件,这就是我们需要的二进制日志
log-bin=/tmp/mysql-bin
2,启动二进制文件的mysql服务
[root@test4 /]# mysqld_safe --defaults-file=/etc/my.cnf --log-bin=/tmp/1.0001 --log-bin-index=/tmp/logbin.index --max-binlog-size=10M --binlog-do-db=test
3,二进制日志index文件的内容
mysql> system cat /tmp/logbin.index
/tmp/1.000001
/tmp/1.000002
四,管理二进制日志
1,查看是否打开二进制日志文件的功能
mysql> show variables like "%log_bin%";
+---------------------------------+-------+
| Variable_name | Value |
+---------------------------------+-------+
| log_bin | ON |
| log_bin_trust_function_creators | OFF |
| log_bin_trust_routine_creators | OFF |
| sql_log_bin | ON |
+---------------------------------+-------+
2,查看二进制文件的情况
mysql> show master logs;
+----------+-----------+
| Log_name | File_size |
+----------+-----------+
| 1.000001 | 141 |
| 1.000002 | 106 |
+----------+-----------+
2 rows in set (0.00 sec)
mysql> show binary logs;
+----------+-----------+
| Log_name | File_size |
+----------+-----------+
| 1.000001 | 141 |
| 1.000002 | 106 |
+----------+-----------+
2 rows in set (0.00 sec)
3,切换二进制文件
mysql> flush logs;
Query OK, 0 rows affected (0.02 sec)
mysql> show binary logs;
+----------+-----------+
| Log_name | File_size |
+----------+-----------+
| 1.000001 | 141 |
| 1.000002 | 141 |
| 1.000003 | 106 |
+----------+-----------+
3 rows in set (0.01 sec)
4,删除或者初始化二进制文件
mysql> reset master;
Query OK, 0 rows affected (0.03 sec)
mysql> show binary logs;
+----------+-----------+
| Log_name | File_size |
+----------+-----------+
| 1.000001 | 106 |
+----------+-----------+
1 row in set (0.00 sec)
5,删除指定的二进制文件
mysql> purge binary logs to '1.000003'; 删除二进制文件1.000001和1.000002
Query OK, 0 rows affected (0.48 sec)
mysql> show binary logs;
+----------+-----------+
| Log_name | File_size |
+----------+-----------+
| 1.000003 | 141 |
| 1.000004 | 141 |
| 1.000005 | 141 |
| 1.000006 | 141 |
| 1.000007 | 141 |
| 1.000008 | 106 |
+----------+-----------+
6,指定二进制日志失效期
mysql> show variables like "%expire%";
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| expire_logs_days | 0 |
+------------------+-------+
1 row in set (0.01 sec)
mysql> set global expire_logs_days=5;
Query OK, 0 rows affected (0.00 sec)
mysql> show variables like "%expire%";
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| expire_logs_days | 5 |
+------------------+-------+
1 row in set (0.00 sec)
本文转自陈仲阳0 51CTO博客,原文链接:http://blog.51cto.com/wolfword/1287742