• mysqlbinlog 日用记录


    我是同步覆盖了两张表,现在想用日志恢复。

    先说结论,没有恢复,因为我的日志不完整,设置了定时清理。

    如果你truncate了表或者数据库,如果没有完整的日志是恢复不了数据的。

    第一、mysqlbinlog 可能没开启

    第二、开启了mysqlbinlog日志,设置了定时清理也恢复不了之前的数据,因为他恢复数据的原理是重新运行一次sql。

    1、查询存在的mysqlbinlog 日志 ,在sql中运行

    SHOW BINARY LOGS;

     

    运行命令直接查看日志,想看全部请继续往下看,日志文件导出sql。 

     show binlog events in 'mysql-bin.000076'

    2、 linux上找到mysql的位置和日志的位置

    whereis mysql不大起作用,

    我找了半天 mysql装在
    /www/server/mysql 这了 

    运行mysql一般安装的配置文件,发现日志在
    /www/server/data下


    [root@localhost mysql]# more /etc/my.cnf

     

    第三步 执行 mysqlbinlog 文件转成sql文件

    命令,分别执行:

     mysqlbinlog mysql-bin.000076 > /tmp/binlog.sql
    mysqlbinlog mysql-bin.000076 -d sys_dict_data > /tmp/sys_dict_data.sql
    mysqlbinlog mysql-bin.000076 -d hussar > /tmp/hussar.sql

    mysqlbinlog mysql-bin.000076 -d hussar > /tmp/hussar.sql

    然后分析导出的文件,你操作的节点或者时间在哪里,我是同步的表,根据我的操作时间,我查询表,答题找到在这里。

    这里如果报mysqlbinlog不识别 

    运行   ln -s /www/server/mysql/bin/mysqlbinlog mysqlbinlog 解决

     第四步 执行 日志的恢复操作:他的原理就是把之前的sql再运行一遍,所以如果你的日志是定时清空的,恢复以前的操作是不可能的,你清除了表和库,没有之前的日志,也是恢复不了了。

    1、按pos点
    ./mysqlbinlog --start-position=开始点 --stop-position=结束点 --database=数据库 /binlog路径/mysql-bin.000001 | ./mysql -u用户名 -p密码 -v 数据库
    2、按时间
    ./mysqlbinlog  --start-datetime="2022-12-30 10:00:00" --stop-datetime="2022-12-30 18:00:00" --database=demo5_p2p7_cn /www/server/data/mysql-bin.000038 | ./mysql -uroot -p12345 -v datebase;
    例子:
    mysqlbinlog --stop-position=23801393 --database=hussar /www/server/data/mysql-bin.000076 | ./mysql -uroot -proot -v hussar;

     我的执行语句

    # mysqlbinlog --stop-position=23801393 --database=hussar /www/server/data/mysql-bin.000076 | mysql -uroot -proot -v hussar;

    恢复目前节点之前的日志里所有操作,报错 ,不过是成功的执行了恢复,只不过确实重复执行肯定报错。所以恢复的之后,也就是重复执行的时候,记得选择开始和节数的节点,不然数据容易不可控。

  • 相关阅读:
    pytorch的安装【全官网流程】
    NFT工具合集
    数据结构与算法设计分析——分治法
    Error: error:0308010C:digital envelope routines::unsupported
    2024年初中生古诗文大会备考:多选题真题和独家解析(持续更新)
    热门API接口资源:从开发到上线,大大提速工作流程
    ErrCode: 13102001没有找到名称为 ‘xxx‘ 的数据源
    Llama2-Chinese项目:2.2-大语言模型词表扩充
    智慧水利数字孪生案例分享:数字孪生水利,助力三峡科学防洪防汛
    微信小程序---页面事件
  • 原文地址:https://blog.csdn.net/somdip/article/details/133772204