ysql dba系统学习(5)二进制日志之一

Mysql 路人甲 128℃ 0评论

一,二进制日志文件的作用  

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)

本文出自 “好好活着” 博客,请务必保留此出处http://wolfword.blog.51cto.com/4892126/1287742

分享是种美德:运维博客 » ysql dba系统学习(5)二进制日志之一

喜欢 (0)or分享 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址