zoukankan      html  css  js  c++  java
  • 简要记录使用二进制恢复丢失数据

    二进制很重要,建议设置row格式,这个虽然存储比较占地方,但是是最安全的并且使用下面语句可以直观的看到数据
     
    mysqlbinlog --base64-output='decode-rows' -v mysql-bin.000001 > text.txt 
    这样具体的行记录信息在text.txt 就可以找到了
     
    -v 显示行记录格式内容
    -vv 显示行记录格式内容+字段的数据类型等
     
    binlog大小默认是1GB 建议可以改成512M这样可以更加方便的打开搜索定位
    使用如下参数
    max_binlog_size
    使用show binary logs;定位当前正在写的二进制日志和具体position
     
    mysqldump -h127.0.0.1 -uroot -proot  -v(打印备份冗余信息) -R (备份存储过程和函数) --event (备份事件) --databases database_name (要备份的数据库或者使用 --all-databases) --master-data=2(这个参数会打开lock-all-tables 选项除非使用--single-transaction选项,默认为1 表示直接在备份中生成 change master to master_file='' , master_pos='' ; 信息,2表示以注释形式记录,这样不影响reload恢复,注意1会影响,一般备份不需要使用) > backup.sql
     
    恢复数据的时候可以使用登录mysql会话,设置sql_log_bin 为0 ,避免大数据恢复写二进制文件
    mysql> set sql_log_bin = 0; --  (默认是1) 
    mysql> source backup.sql ;
    mysql> set sql_log_bin = 1;
     
    简单使用二进制 position 来恢复数据
     
    mysqlbinlog --start-position=191 --stop-position=2324345 --database='database' mysql-bin.00001 mysql-bin.000002 
    | mysql -h127.0.0.1 -uroot -proot  (或者 > file.sql 然后再检查file再执行,直接执行是比较危险的)
    
     
    mysqlbinlog还有 根据时间等等条件 都比较简单
     
     
     
     
     
     
  • 相关阅读:
    Android深度探索第一章读书笔记
    ocRuntime基本功
    关于堆栈和block之我见
    OC 与 swift 混编杂记
    UItableViewCell自适应高度的坑
    windows蓝屏处理
    MBProgressHUD自定义customView
    svn 配置忽略文件
    ios 开发项目常用第三方库:
    cocoaPod 更换镜像源
  • 原文地址:https://www.cnblogs.com/jiangwenju/p/5849574.html
Copyright © 2011-2022 走看看