mysql闪回

mysql闪回

使用

环境上误删了表数据,通过binlog2sql快速恢复.

0.下载代码
git clone https://github.com/danfengcao/binlog2sql.git

2.安装依赖
pip3 install -r requirements.txt

1.进入脚本目录
cd binlog2sql

3.查询binlog文件并选择

3.执行脚本进行数据恢复

# --flashback表示:闪回
# 用户名,密码
# -d: database
# -t: tables
# --start-file: binlog文件
python3 binlog2sql.py --flashback -h127.0.0.1 -P3306 -uroot -p'yourPwd' -dtest -tyourTableName --start-file='mysql-bin.000001'

前提

利用binlog闪回,需要将binlog格式设置为row

mac上mysql开启binlog配置

1.找到mysql安装目录
ps -ef|grep mysql

2.配置my.cnf
配置/etc/my.cnf文件,可以copy
/usr/local/mysql/support-files/my-default.cnf文件做参考
需要添加 [mysqld] 头部.

[mysqld]
binlog-format=Row
expire_logs_days=5
server_id=1
datadir=/usr/local/mysql/data
log-bin=/usr/local/mysql/data/mysql-bin.log

一定要配置log-bin

3.重启mysql

➜  ~ sudo /usr/local/mysql/support-files/mysql.server restart
Password:
Starting MySQL
. SUCCESS!

如果配置后重启起不来,查看 /usr/local/mysql/data/mysqld.local.err 里的错误日志.

4.客户端连接查看是否开启binlog

show variables like 'log_bin';
posted on 2022-03-26 13:11  flyingzc  阅读(2)  评论(0)    收藏  举报  来源