MySQL根据binlog恢复数据库相关命令

格式化输出

mysqlbinlog --base64-output=decode-rows -v --database=sunshinezhenda --start-datetime="2023-07-21-10 08:47:00" --stop-datetime="2023-11-10 08:00:00" /var/lib/mysql/mysql-bin.000014 > tmp.sql

根据时间节点恢复

mysqlbinlog --start-datetime="2023-07-28 08:00:20" --stop-datetime="2023-11-10 08:00:00" --database=sunshinezhenda /var/lib/mysql/mysql-bin.000014 | mysql -uroot -pcxjSAvjIwL%x0fGD -v sunshinezhenda;

根据起始位置恢复

mysqlbinlog --start-position=630399310 --stop-position=654641954 --database=sunshinezhenda /var/lib/mysql/mysql-bin.000014 | mysql -uroot -pcxjSAvjIwL%x0fGD -v sunshinezhenda;

输出base解码后的sql

mysqlbinlog --base64-output=decode-rows -vv --start-datetime='2023-10-25 00:00:00' --stop-datetime='2023-10-25 17:00:00' /var/lib/mysql/mysql-bin.000014 > /tmp/sql_record.txt

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL根据binlog进行恢复是指通过MySQL的日志文件(即binlog)来恢复数据。 在MySQL中,binlog是一种二进制日志文件,用于记录数据库的修改操作。它记录了数据库中执行的所有写操作,如插入、更新和删除等。 要根据binlog进行恢复,需要按照以下步骤进行: 1. 首先,确认MySQLbinlog模式是否为“ROW”模式。可以通过在MySQL的配置文件(通常是my.cnf或my.ini)中查看或修改binlog_format参数来确认。 2. 确认MySQLbinlog日志是否启用。可以使用如下命令查看: SHOW VARIABLES LIKE 'log_bin'; 如果结果为ON,则表示binlog日志已启用。如果结果为OFF,则需要先启用它。可以在MySQL的配置文件中设置log_bin参数为ON,然后重启MySQL服务。 3. 检查并定位出需要恢复数据库备份文件以及最近一次数据库崩溃之前的binlog文件。备份文件可以使用MySQLmysqldump命令进行创建,binlog文件可以在MySQL的数据目录中找到。 4. 使用mysqlbinlog工具来解析binlog文件。该工具可以将binlog文件输出为可读的SQL语句。 例如,要解析mysql-bin.000001的binlog文件,可以使用以下命令mysqlbinlog mysql-bin.000001 > binlog.sql 5. 使用解析后的SQL语句文件来还原数据。可以通过以下命令将SQL语句导入到MySQL中: mysql -u用户 -p密码 < binlog.sql 其中,“用户”和“密码”是连接MySQL所需的凭证。 通过以上步骤,就可以根据binlog文件来恢复MySQL数据库。需要注意的是,binlog文件只记录了数据库的写操作,因此无法恢复数据库的结构和读操作。如果需要完全恢复数据库,还需要使用其他备份文件和恢复方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值