误删数据库的小朋友们,来看看这个帖子 工具: 1、 Percona XtraBackup 2、 Mysql binlog 限制条件: Percona XtraBackup只能使用在Linux系统中
2、 下载阿里的 rds_backup_extract.sh (https://help.aliyun.com/knowledge_detail/41817.html) 3、 解压 步骤1 下载的内容(backup.tar.gz)
bash rds_backup_extract.sh -f backup.tar.gz(下载的文件) -C /home/mysql/data(解压目录)4、 恢复数据
innobackupex --defaults-file=/home/mysql/data/backup-my.cnf (配置文件) --apply-log /home/mysql/data (回滚日志)5、 修改配置文件准备启动db 删除/home/mysql/data/backup-my.cnf下的
#innodb_fast_checksum #innodb_page_size #innodb_log_block_size6、 启动db,启动过程中注意观察log,部分配置不适合当前的mysql版本
mysqld_safe --defaults-file=/home/mysql/data/backup-my.cnf --user=mysql --datadir=/home/mysql/data &7、 登录db
mysql -uroot8、 创建用户前需要执行的命令
delete from mysql.db where user<>’root’ and char_length(user)>0;delete from mysql.tables_priv where user<>’root’ and char_length(user)>0;flush privileges;1、下载binlog文件 2、通过mysqlbinlog恢复执行sql
mysqlbinlog -d badge(恢复db名) --skip-gtids=true D:\log\mysql-bin.000907 > test33、 打开test3分析数据
开始事物的时间: SET TIMESTAMP=1350355892/*!*/; BEGIN sqlevent起点#at 1643330 :为事件的起点,是以1643330字节开始。
sqlevent 发生的时间点#121016 10:51:32:是事件发生的时间,
serverIdserver id 1 :为master 的serverId
sqlevent终点及花费时间,错误码end_log_pos 1643885:为事件的终点,是以1643885 字节结束。 4、 根据事务开始时间或者at选择开始恢复点,根据end_log_post选择结束点执行命令
mysqlbinlog -d badge --stop-datetime="2017-08-01 01:31:00"(开始时间) --stop-position=234871(结束点) --start-position=1382(开始点) --skip-gtids=true(去除gtid) D:\xiaohui\log\mysql-bin.000907 > test35、 恢复binlog到db中
mysql -uroot use badge source test3相关知识: show binary logs; –查看本机的binlog show binlog events bin-log.0001(log名); –查看本机binlog内容
文档出处https://help.aliyun.com/knowledge_detail/41817.html