zoukankan      html  css  js  c++  java
  • mysql数据安全之利用二进制日志mysqlbinlog恢复数据

    mysql数据安全之利用二进制日志mysqlbinlog恢复数据
    简介:如何利用二进制日志来恢复数据
    查看二进制日志文件的内容报错:
    [root@xdclass-public log_bin]# mysqlbinlog mysql-bin.000002
    mysqlbinlog: [ERROR] unknown variable 'default-character-set=utf8'
     
    解决:
    第一种:在mysqlbinlog 后边加上 --no-defaults
    第二种:注释掉配置文件里边的default-character-set=utf8
     
    把二进制日志文件导出成普通文件:
    mysqlbinlog --base64-output=DECODE-ROWS -v mysql-bin.000002 > mysqlbin.sql
     
    找出要恢复的位置:
    (1)找出关键字的行数:mysqlbinlog --no-defaults mysql-bin.000002 | cat -n | grep -iw
    'drop'
    [root@xdclass-public log_bin]# mysqlbinlog --no-defaults mysql-bin.000002 | cat -n |
    grep -iw 'drop'
    4180 DROP TABLE `user` /* generated by server */
    (2)打印出相关内容:mysqlbinlog --no-defaults mysql-bin.000002 | cat -n | sed -n
    '4170,4180p'
    [root@xdclass-public log_bin]# mysqlbinlog --no-defaults mysql-bin.000002 | cat -n |
    sed -n '4170,4180p'
    4170 # at 59578
    4171 #190419 0:41:48 server id 1 end_log_pos 59609 CRC32 0x36cda2b7 Xid =
    6380
    4172 COMMIT/*!*/;
    4173 # at 59609
    4174 #190419 0:41:48 server id 1 end_log_pos 59674 CRC32 0x8de2f06a
    Anonymous_GTID last_committed=145 sequence_number=146
    4175 SET @@SESSION.GTID_NEXT= 'ANONYMOUS'/*!*/;
    4176 # at 59674
    4177 #190419 0:41:48 server id 1 end_log_pos 59787 CRC32 0x6b2edd2b Query
    thread_id=14 exec_time=0 error_code=0
    4178 use `XD`/*!*/;
    4179 SET TIMESTAMP=1555605708/*!*/;
    4180 DROP TABLE `user` /* generated by server */
    [root@xdclass-public log_bin]#
     
    恢复数据:
    第一步:把备份的数据表user恢复到数据库中:mysql -uroot -p XD < /mysql_data_back/user_bak.sql
    第二步:利用上面找到的删除的位置进行恢复数据
    mysqlbinlog --no-defaults --set-charset=utf8 --stop-position="59674"
    /data/mydata/log_bin/mysql-bin.000002 | mysql -uroot -p
     
    登录数据库查看数据是否恢复回来
  • 相关阅读:
    有趣的网站
    Python-Day2
    C# EF增删改查
    LINQ教程
    命名空间“System.Web”中不存在类型或命名空间名称“Optimization”(是否缺少程序集引用?)
    Log4Net组件的应用详解
    log4net应用
    Select count(*)和Count(1)的区别和执行方式
    Ms sql 2005 中的bit 数据类型
    关于CLR、CIL、CTS、CLS、CLI、BCL和FCL
  • 原文地址:https://www.cnblogs.com/yxy0930/p/14186694.html
Copyright © 2011-2022 走看看