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';