zoukankan      html  css  js  c++  java
  • mysql数据库中,flush logs语句的作用是什么呢?

    需求描述

      今天在研究mysql数据库的备份和恢复,用到了flush logs这个SQL语句。

      所以,在此进行测试,并且记录该SQL语句的作用。

    概念描述

      在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以什么名字开始。
    #log-bin=mysql-bin

    2.在mysql数据库中,查看log_bin系统变量的设置

    mysql> show variables like 'log_bin';
    +---------------+-------+
    | Variable_name | Value |
    +---------------+-------+
    | log_bin       | ON    |
    +---------------+-------+
    1 row in set (0.00 sec)

    备注:以上的设置,表示数据库已经开启了binary log.

    3.查看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
    -rw-rw----. 1 mysql mysql 172320573 Jan 19 18:00 mysql-bin.000015
    -rw-rw----. 1 mysql mysql       126 Jan 22 18:07 mysql-bin.000016
    -rw-rw----  1 mysql mysql      1202 Jan 23 18:21 mysql-bin.000017
    -rw-rw----  1 mysql mysql       231 Jan 23 22:44 mysql-bin.000018
    -rw-rw----  1 mysql mysql       486 Jan 24 18:13 mysql-bin.000019
    -rw-rw----  1 mysql mysql       126 Jan 25 11:40 mysql-bin.000020
    -rw-rw----  1 mysql mysql       126 Jan 25 14:05 mysql-bin.000021
    -rw-rw----  1 mysql mysql       126 Jan 25 14:10 mysql-bin.000022
    -rw-rw----  1 mysql mysql       126 Jan 25 18:02 mysql-bin.000023
    -rw-rw----  1 mysql mysql       126 Jan 26 21:21 mysql-bin.000024
    -rw-rw----  1 mysql mysql       126 Jan 29 14:20 mysql-bin.000025
    -rw-rw----  1 mysql mysql      3779 Jan 29 14:41 mysql-bin.000026
    -rw-rw----  1 mysql mysql       126 Jan 29 15:29 mysql-bin.000027
    -rw-rw----  1 mysql mysql       520 Jan 29 16:12 mysql-bin.000028
    -rw-rw----  1 mysql mysql       126 Jan 29 17:59 mysql-bin.000029
    -rw-rw----  1 mysql mysql      2261 Jan 30 17:32 mysql-bin.000030
    -rw-rw----  1 mysql mysql   2161843 Jan 31 12:58 mysql-bin.000031
    -rw-rw----  1 mysql mysql   2243815 Jan 31 18:43 mysql-bin.000032
    -rw-rw----  1 mysql mysql    165265 Feb  1 17:37 mysql-bin.000033
    -rw-rw----  1 mysql mysql     12792 Feb  2 19:25 mysql-bin.000034
    -rw-rw----  1 mysql mysql       264 Feb  5 11:22 mysql-bin.000035
    -rw-rw----  1 mysql mysql       744 Feb  5 17:04 mysql-bin.000036
    -rw-rw----  1 mysql mysql      1769 Feb  5 19:07 mysql-bin.000037
    -rw-rw----  1 mysql mysql      5600 Feb 26 17:31 mysql-bin.000038
    -rw-rw----  1 mysql mysql       126 Feb 27 10:13 mysql-bin.000039
    -rw-rw----  1 mysql mysql       150 Feb 27 10:14 mysql-bin.000040
    -rw-rw----  1 mysql mysql       126 Feb 27 10:14 mysql-bin.000041
    -rw-rw----  1 mysql mysql       126 Feb 27 10:30 mysql-bin.000042
    -rw-rw----  1 mysql mysql       126 Feb 27 10:32 mysql-bin.000043
    -rw-rw----  1 mysql mysql       126 Feb 27 10:51 mysql-bin.000044
    -rw-rw----  1 mysql mysql       126 Feb 27 10:53 mysql-bin.000045
    -rw-rw----  1 mysql mysql       126 Feb 27 11:04 mysql-bin.000046
    -rw-rw----  1 mysql mysql       126 Feb 27 12:41 mysql-bin.000047
    -rw-rw----  1 mysql mysql       626 Feb 27 14:34 mysql-bin.000048
    -rw-rw----  1 mysql mysql 715342328 Feb 27 15:54 mysql-bin.000049
    -rw-rw----  1 mysql mysql       308 Feb 27 16:03 mysql-bin.000050
    -rw-rw----  1 mysql mysql       305 Feb 27 16:27 mysql-bin.000051
    -rw-rw----  1 mysql mysql       126 Feb 27 16:28 mysql-bin.000052
    -rw-rw----  1 mysql mysql       126 Feb 27 18:17 mysql-bin.000053
    -rw-rw----  1 mysql mysql       126 Feb 28 18:33 mysql-bin.000054
    -rw-rw----  1 mysql mysql       126 Feb 28 18:40 mysql-bin.000055
    -rw-rw----  1 mysql mysql       126 Mar  1 15:04 mysql-bin.000056
    -rw-rw----  1 mysql mysql       126 Mar  1 17:45 mysql-bin.000057
    -rw-rw----  1 mysql mysql      6611 Mar  2 17:04 mysql-bin.000058
    -rw-rw----  1 mysql mysql     16241 Mar  5 10:47 mysql-bin.000059
    -rw-rw----  1 mysql mysql       126 Mar  6 17:48 mysql-bin.000060
    -rw-rw----  1 mysql mysql      1111 Mar  8 18:40 mysql-bin.000061
    -rw-rw----  1 mysql mysql       126 Mar  9 10:06 mysql-bin.000062
    -rw-rw----  1 mysql mysql       107 Mar  9 10:12 mysql-bin.000063
    -rw-rw----  1 mysql mysql     42103 Mar  9 18:27 mysql-bin.000064
    -rw-rw----  1 mysql mysql      7690 Mar 12 23:28 mysql-bin.000065
    -rw-rw----  1 mysql mysql       107 Mar 15 16:48 mysql-bin.000066
    -rw-rw----  1 mysql mysql       126 Mar 19 18:04 mysql-bin.000067
    -rw-rw----  1 mysql mysql       126 Mar 20 09:49 mysql-bin.000068
    -rw-rw----  1 mysql mysql       126 Mar 20 09:53 mysql-bin.000069
    -rw-rw----  1 mysql mysql       264 Mar 20 10:05 mysql-bin.000070
    -rw-rw----  1 mysql mysql       264 Mar 20 10:50 mysql-bin.000071
    -rw-rw----  1 mysql mysql       126 Mar 20 10:51 mysql-bin.000072
    -rw-rw----  1 mysql mysql       126 Mar 20 10:55 mysql-bin.000073
    -rw-rw----  1 mysql mysql       264 Mar 20 10:57 mysql-bin.000074
    -rw-rw----  1 mysql mysql       107 Mar 20 10:57 mysql-bin.000075
    -rw-rw----  1 mysql mysql  52702236 Mar 21 15:01 mysql-bin.000076
    -rw-rw----  1 mysql mysql       107 Mar 26 14:40 mysql-bin.000077
    -rw-rw----  1 mysql mysql  23077422 Mar 28 18:13 mysql-bin.000078
    -rw-rw----  1 mysql mysql  22032005 Mar 29 15:26 mysql-bin.000079
    -rw-rw----  1 mysql mysql       107 Mar 30 14:06 mysql-bin.000080
    -rw-rw----  1 mysql mysql       107 Apr  2 09:21 mysql-bin.000081
    -rw-rw----  1 mysql mysql       150 Apr  3 15:58 mysql-bin.000082
    -rw-rw----  1 mysql mysql       150 Apr  3 16:00 mysql-bin.000083
    -rw-rw----  1 mysql mysql       150 Apr  3 16:46 mysql-bin.000084
    -rw-rw----  1 mysql mysql       150 Apr  3 16:47 mysql-bin.000085
    -rw-rw----  1 mysql mysql       150 Apr  3 16:52 mysql-bin.000086
    -rw-rw----  1 mysql mysql       238 Apr  3 17:12 mysql-bin.000087
    -rw-rw----  1 mysql mysql       150 Apr  3 17:14 mysql-bin.000088
    -rw-rw----  1 mysql mysql       107 Apr  3 17:14 mysql-bin.000089
    -rw-rw----. 1 mysql mysql      2611 Apr  3 17:14 mysql-bin.index

    备注:binary log是以mysql-bin开头的,然后点后面是binary log的序号。

    4.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
    ./mysql-bin.000011
    ./mysql-bin.000012
    ./mysql-bin.000013
    ./mysql-bin.000014
    ./mysql-bin.000015
    ./mysql-bin.000016
    ./mysql-bin.000017
    ./mysql-bin.000018
    ./mysql-bin.000019
    ./mysql-bin.000020
    ./mysql-bin.000021
    ./mysql-bin.000022
    ./mysql-bin.000023
    ./mysql-bin.000024
    ./mysql-bin.000025
    ./mysql-bin.000026
    ./mysql-bin.000027
    ./mysql-bin.000028
    ./mysql-bin.000029
    ./mysql-bin.000030
    ./mysql-bin.000031
    ./mysql-bin.000032
    ./mysql-bin.000033
    ./mysql-bin.000034
    ./mysql-bin.000035
    ./mysql-bin.000036
    ./mysql-bin.000037
    ./mysql-bin.000038
    ./mysql-bin.000039
    ./mysql-bin.000040
    ./mysql-bin.000041
    ./mysql-bin.000042
    ./mysql-bin.000043
    /mysql/data/mysql-bin/mysql-bin.000044
    /mysql/data/mysql-bin/mysql-bin.000045
    /mysql/data/mysql-bin/mysql-bin.000046
    /mysql/data/mysql-bin/mysql-bin.000047
    /mysql/data/mysql-bin/mysql-bin.000048
    /mysql/data/mysql-bin/mysql-bin.000049
    /mysql/data/mysql-bin/mysql-bin.000050
    /mysql/data/mysql-bin/mysql-bin.000051
    /mysql/data/mysql-bin/mysql-bin.000052
    /mysql/data/mysql-bin/mysql-bin.000053
    /mysql/data/mysql-bin/mysql-bin.000054
    /mysql/data/mysql-bin/mysql-bin.000055
    /mysql/data/mysql-bin/mysql-bin.000056
    /mysql/data/mysql-bin/mysql-bin.000057
    /mysql/data/mysql-bin/mysql-bin.000058
    /mysql/data/mysql-bin/mysql-bin.000059
    /mysql/data/mysql-bin/mysql-bin.000060
    /mysql/data/mysql-bin/mysql-bin.000061
    /mysql/data/mysql-bin/mysql-bin.000062
    /mysql/data/mysql-bin/mysql-bin.000063
    /mysql/data/mysql-bin/mysql-bin.000064
    /mysql/data/mysql-bin/mysql-bin.000065
    /mysql/data/mysql-bin/mysql-bin.000066
    /mysql/data/mysql-bin/mysql-bin.000067
    /mysql/data/mysql-bin/mysql-bin.000068
    /mysql/data/mysql-bin/mysql-bin.000069
    /mysql/data/mysql-bin/mysql-bin.000070
    /mysql/data/mysql-bin/mysql-bin.000071
    /mysql/data/mysql-bin/mysql-bin.000072
    /mysql/data/mysql-bin/mysql-bin.000073
    /mysql/data/mysql-bin/mysql-bin.000074
    /mysql/data/mysql-bin/mysql-bin.000075
    /mysql/data/mysql-bin/mysql-bin.000076
    /mysql/data/mysql-bin/mysql-bin.000077
    /mysql/data/mysql-bin/mysql-bin.000078
    /mysql/data/mysql-bin/mysql-bin.000079
    /mysql/data/mysql-bin/mysql-bin.000080
    /mysql/data/mysql-bin/mysql-bin.000081
    /mysql/data/mysql-bin/mysql-bin.000082
    /mysql/data/mysql-bin/mysql-bin.000083
    /mysql/data/mysql-bin/mysql-bin.000084
    /mysql/data/mysql-bin/mysql-bin.000085
    /mysql/data/mysql-bin/mysql-bin.000086
    /mysql/data/mysql-bin/mysql-bin.000087
    /mysql/data/mysql-bin/mysql-bin.000088
    /mysql/data/mysql-bin/mysql-bin.000089

     5.查看当前数据库binary log的位置

    mysql> show master status;
    +------------------+----------+--------------+------------------+
    | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
    +------------------+----------+--------------+------------------+
    | mysql-bin.000089 |      107 |              |                  |
    +------------------+----------+--------------+------------------+
    1 row in set (0.00 sec)

    备注:当前使用的bin log是“mysql-bin.000089”,位置是107.

    6.执行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 |              |                  |
    +------------------+----------+--------------+------------------+
    1 row in set (0.00 sec)

    备注:通过执行flush logs命令之后,再次查询binary log信息,发现已经使用了一个新的bin log文件了。

    7.查看操作系统上是否也多了一个binary log文件

    -rw-rw----  1 mysql mysql  22032005 Mar 29 15:26 mysql-bin.000079
    -rw-rw----  1 mysql mysql       107 Mar 30 14:06 mysql-bin.000080
    -rw-rw----  1 mysql mysql       107 Apr  2 09:21 mysql-bin.000081
    -rw-rw----  1 mysql mysql       150 Apr  3 15:58 mysql-bin.000082
    -rw-rw----  1 mysql mysql       150 Apr  3 16:00 mysql-bin.000083
    -rw-rw----  1 mysql mysql       150 Apr  3 16:46 mysql-bin.000084
    -rw-rw----  1 mysql mysql       150 Apr  3 16:47 mysql-bin.000085
    -rw-rw----  1 mysql mysql       150 Apr  3 16:52 mysql-bin.000086
    -rw-rw----  1 mysql mysql       238 Apr  3 17:12 mysql-bin.000087
    -rw-rw----  1 mysql mysql       150 Apr  3 17:14 mysql-bin.000088
    -rw-rw----  1 mysql mysql       150 Apr  3 17:35 mysql-bin.000089
    -rw-rw----  1 mysql mysql       107 Apr  3 17:35 mysql-bin.000090  #操作系统上生成了新的binary log文件。
    -rw-rw----. 1 mysql mysql      2650 Apr  3 17:35 mysql-bin.index

    小结

      flush logs命令的作用就是关闭当前使用的binary log,然后打开一个新的binary log文件,文件的序号加1.

    文档创建时间:2018年4月3日17:37:23

  • 相关阅读:
    爬取校园新闻首页的新闻
    网络爬虫基础练习
    综合练习:词频统计
    Hadoop综合大作业
    理解MapReduce
    熟悉常用的HBase操作
    熟悉常用的HDFS操作
    爬虫大作业
    数据结构化与保存
    使用正则表达式,取得点击次数,函数抽离
  • 原文地址:https://www.cnblogs.com/chuanzhang053/p/8709954.html
Copyright © 2011-2022 走看看