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

  • 相关阅读:
    saltstack远程执行
    centos7防火墙的关闭和禁用
    saltstack 安装使用
    flask基础-第一个flask-jinja2-response三剑客-request-session
    linux服务器排查病毒纪实
    读完这篇文章,就基本搞定了Redis主从复制
    Django学习【第26篇】:中介模型以及优化查询以及CBV模式
    Django学习【第26篇】:后端CORS解决跨域问题
    Django学习【第25篇】:前端Jsonp解决跨域问题
    Django学习【第24篇】:JS实现的ajax和同源策略
  • 原文地址:https://www.cnblogs.com/yangyuke1994/p/9686558.html
Copyright © 2011-2022 走看看