zoukankan      html  css  js  c++  java
  • mysql数据库安全性配置——日志记录

     一:开启数据库日志记录

    (1)在查看数据库是否开启日志记录,默认是OFF,即关闭状态。(可在数据库中执行该查询语句,也可在服务器端执行)

    show variables like 'log_bin';

    (2)开启数据库日志记录功能(在服务器端执行)

       首先,查看my.cnf文件路径。

    find / -name my.cnf
    

      

       然后,打开my.cnf配置文件,进行编辑。

    vi /etc/my.cnf
    

      

      接下来,在配置文件中添加, log-bin=mysql-bin,如图。

      

      最后,重启mysql。

    service mysqld restart
    

      查看日志启动状态,启动日志成功。

     

    二:日志记录使用(记录日志+查看日志+恢复日志)

    (1)查看日志记录文件地址

    一般mysql日志记录会生成【mysql-bin.000001】格式的文件。我们输入命令:

    find / -name mysql-bin.000001
    

      

    可以看出,我们的日志文件路径在【/var/lib/mysql/】下。

    (2)我们执行,刷新操作(sql语句)

    flush logs;
    

    再看日志记录,会发现多了一条日志版本。

    (3)让我们来看一下最后一条日志信息的相关信息。

    show master status;
    

     

    位置信息为106。并且以后的增删改操作就记录在这个最新的bin-log日志里。

    (4)让我们来清空日志信息。

    reset master;
    

      

    已经没有最新版本那个日志文件了。

    (5)测试对数据库进行修改的记录。

    我在数据库中删除了一条数据,查看日志状态,发现position字节已经增多,说明,日志记录有改动了。

    接下来,让我们看看都改动了哪些内容。

    (注意:我们如果直接用vi命令打开日志文件会乱码,所以我们需要先找到mysqlbinlog文件路径,执行使用该命令才能打开)

     

    我的服务器上mysqlbinlog文件路径为【/usr/bin/mysqlbinlog】

    然后执行

    /usr/bin/mysqlbinlog --no-defaults mysql-bin.000002

    打开日志文件如下:

    (6)通过日志记录进行数据恢复

    • 找到需要恢复到日志记录某个版本,此处举例:mysql-bin.000002,例如:
    /usr/bin/mysqlbinlog --no-defaults mysql-bin.000002|mysql -uroot -p
    
    • 根据开始位置或者结束位置来恢复自己想恢复的参数,例如:

      --stop-position = "100"    --start-position = "50" 

    /usr/bin/mysqlbinlog --no-defaults mysql-bin.000002 --stop-position="303"|mysql -uroot -p
    • 根据开始日期时间或者结束位置来恢复自己想恢复的参数

      --stop-date= "2016-03-02 12:00:00"    --start-date= "2016-03-02 11:55:00" 

    /usr/bin/mysqlbinlog --no-defaults mysql-bin.000002 --stop-date= "2016-03-02 12:00:00"|mysql -uroot -p
    

      

    本文参考地址:https://www.cnblogs.com/it-cen/p/5234345.html

  • 相关阅读:
    03_ if 练习 _ little2big
    uva 11275 3D Triangles
    uva 12296 Pieces and Discs
    uvalive 3218 Find the Border
    uvalive 2797 Monster Trap
    uvalive 4992 Jungle Outpost
    uva 2218 Triathlon
    uvalive 3890 Most Distant Point from the Sea
    uvalive 4728 Squares
    uva 10256 The Great Divide
  • 原文地址:https://www.cnblogs.com/yangyuke1994/p/9686558.html
Copyright © 2011-2022 走看看