泰安网站建设找工作,宜昌 网站建设 公司,如何设置自己的网址,大连甘井子区很落后吗场景#xff1a; 误操作删除了某个表的数据#xff0c;本文只讲工具的使用#xff0c;首先自己通过mysqlbinlog或者记录找到误操作的时间范围#xff1a;开始时间和结束时间#xff0c;已经确定好是哪个binlog了下面以误删为例。 查看binlog是否开启 show variables like …场景 误操作删除了某个表的数据本文只讲工具的使用首先自己通过mysqlbinlog或者记录找到误操作的时间范围开始时间和结束时间已经确定好是哪个binlog了下面以误删为例。 查看binlog是否开启 show variables like ‘%log_bin%’; 查看binlog的存放目录 show variables like ‘%datadir%’; 查看binlog日志文件列表也可以进去目录路面看 show master logs ; 查看目前最后一个binlog日志 show master status; 刷新日志 flush logs; 查看是否刷新成功 show master logs ; 准备下载reverse_sql 工具
https://github.com/hcymysql/reverse_sql/
1.
将下载的reverse_sql 传到服务器上随便哪个目录不上传也行只要本地能跑我一般喜欢放在 bin下 2. 通过reverse_sql 如下命令delete 为例其他误操作 update 、insert 等误操作需要-op 的值不一样可以看 ./reverse_sql -h 参数说明 ./reverse_sql -ot tables -op delete -H localhost -P 3306 -u root -p xxxx -d dbnames --binlog-file binlog.000050 --start-time 2023-10-12 9:00:00 --end-time 2023-10-12 10:51:00
参数使用说明可以
./reverse_sql -h root93b34c5d3fa2:/usr/bin# ./reverse_sql -h usage: reverse_sql [-h] [-ot ONLY_TABLES [ONLY_TABLES ...]] [-op ONLY_OPERATION] -H MYSQL_HOST -P MYSQL_PORT -u MYSQL_USER -p MYSQL_PASSWD -d MYSQL_DATABASE [-c MYSQL_CHARSET] --binlog-file BINLOG_FILE [--binlog-pos BINLOG_POS] --start-time ST --end-time ET [--max-workers MAX_WORKERS] [--print] [--replace] Binlog数据恢复生成反向SQL语句。 options: -h, --help show this help message and exit -ot ONLY_TABLES [ONLY_TABLES ...], --only-tables ONLY_TABLES [ONLY_TABLES ...] 设置要恢复的表多张表用,逗号分隔 -op ONLY_OPERATION, --only-operation ONLY_OPERATION 设置误操作时的命令insert/update/delete -H MYSQL_HOST, --mysql-host MYSQL_HOST MySQL主机名 -P MYSQL_PORT, --mysql-port MYSQL_PORT MySQL端口号 -u MYSQL_USER, --mysql-user MYSQL_USER MySQL用户名 -p MYSQL_PASSWD, --mysql-passwd MYSQL_PASSWD MySQL密码 -d MYSQL_DATABASE, --mysql-database MYSQL_DATABASE MySQL数据库名 -c MYSQL_CHARSET, --mysql-charset MYSQL_CHARSET MySQL字符集默认utf8 --binlog-file BINLOG_FILE Binlog文件 --binlog-pos BINLOG_POS Binlog位置默认4 --start-time ST 起始时间 --end-time ET 结束时间 --max-workers MAX_WORKERS 线程数默认4并发越高锁的开销就越大适当调整并发数 --print 将解析后的SQL输出到终端 --replace 将update转换为replace操作 Example usage: shell ./reverse_sql -ot table1 -op delete -H 192.168.198.239 -P 3336 -u admin -p hechunyang -d hcy \ --binlog-file mysql-bin.000124 --start-time 2023-07-06 10:00:00 --end-time 2023-07-06 22:00:00 3.执行好了后会生成 打开如下图的txt文件内容有操作时间点 、操作的原生sql、及根据原生sql生成的回滚sql 提取并过滤出真正需要回滚sql 执行 就能恢复了。