MySQL误删库恢复实战
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,创建测试库、表create database test;use test;create table leo (id int,name varchar(10));插入数据insert into leo
千家信息网最后更新 2025年11月07日MySQL误删库恢复实战
创建测试库、表
create database test;use test;create table leo (id int,name varchar(10));插入数据
insert into leo values (1,"liufeng");insert into leo values (2,"zhangsan");insert into leo values (3,"liufeng");insert into leo values (4,"zhangsan");mysql> select * from leo;+------+----------+| id | name |+------+----------+| 1 | liufeng || 2 | zhangsan || 3 | liufeng || 4 | zhangsan |+------+----------+.......全备数据库
#!/bin/shbak_path=/home/mysql/backupfile_name=bak_$(date +%F)if [ ! -e $bak_path ];then mkdir -p $bak_pathfi mysqldump -uroot -proot -S /home/mysql/3306/data/mysql.sock -A --single-transaction --master-data=2 > $bak_path/${file_name}.sqlmd5sum $bak_path/${file_name}.sql > $bak_path/${file_name}.flagfind $BakPath -name "*.sql.gz" -mtime +7|xargs rm -f确认备份状态
[root@leo home]# cd mysql/backup/[root@leo backup]# lltotal 792-rw-r--r-- 1 root root 72 Jun 28 22:18 bak_2019-06-28.flag-rw-r--r-- 1 root root 804496 Jun 28 22:18 bak_2019-06-28.sql[root@leo backup]# more bak_2019-06-28.flag db297e95d491ae3b85ed2b5d2496e527 /home/mysql/backup/bak_2019-06-28.sql[root@leo backup]# cd ..[root@leo mysql]# [root@leo mysql]# md5sum -c /home/mysql/backup/bak_2019-06-28.flag/home/mysql/backup/bak_2019-06-28.sql: OK插入数据
mysql> insert into leo values (5,"liufeng");Query OK, 1 row affected (0.01 sec)mysql> insert into leo values (6,"zhangsan");Query OK, 1 row affected (0.01 sec)mysql> select * from leo;+------+----------+| id | name |+------+----------+| 1 | liufeng || 2 | zhangsan || 3 | liufeng || 4 | zhangsan || 5 | liufeng || 6 | zhangsan |+------+----------+删除数据库
mysql> show databases;+--------------------+| Database |+--------------------+| information_schema || leo || mysql || performance_schema || sys || test |+--------------------+6 rows in set (0.00 sec)mysql> drop database test;Query OK, 0 rows affected (0.01 sec)mysql> drop database test;Query OK, 1 row affected (0.01 sec)mysql> show databases;+--------------------+| Database |+--------------------+| information_schema || mysql || performance_schema || sys |+--------------------+4 rows in set (0.00 sec)mysql> flush privileges;Query OK, 0 rows affected (0.00 sec)备份bin-log
[root@leo backup]# cd /home/mysql/3306/data/[root@leo data]# lltotal 123740-rw-r-----. 1 mysql mysql 56 Jun 18 00:59 auto.cnf-rw-r----- 1 mysql mysql 456 Jun 28 17:41 ib_buffer_pool-rw-r-----. 1 mysql mysql 12582912 Jun 29 02:45 ibdata1-rw-r-----. 1 mysql mysql 50331648 Jun 29 02:45 ib_logfile0-rw-r-----. 1 mysql mysql 50331648 Jun 18 00:59 ib_logfile1-rw-r----- 1 mysql mysql 12582912 Jun 29 02:42 ibtmp1drwxr-x---. 2 mysql mysql 4096 Jun 25 23:09 mysql-rw-r----- 1 mysql mysql 177 Jun 25 22:54 mysql-bin.000003-rw-r----- 1 mysql mysql 815245 Jun 25 23:17 mysql-bin.000004-rw-r----- 1 mysql mysql 642 Jun 28 17:41 mysql-bin.000005-rw-r----- 1 mysql mysql 5909 Jun 29 02:45 mysql-bin.000006-rw-r----- 1 mysql mysql 76 Jun 28 19:36 mysql-bin.indexsrwxrwxrwx 1 mysql mysql 0 Jun 28 19:36 mysql.sock-rw------- 1 mysql mysql 5 Jun 28 19:36 mysql.sock.lockdrwxr-x---. 2 mysql mysql 4096 Jun 18 00:59 performance_schema-rw-r----- 1 mysql mysql 5 Jun 28 19:36 resourcepool-0559.piddrwxr-x---. 2 mysql mysql 12288 Jun 18 00:59 sys[root@leo data]# cp -a mysql-bin.* /home/mysql/backup/[root@leo data]# ll /home/mysql/backup/total 1612-rw-r--r-- 1 root root 72 Jun 29 02:42 bak_2019-06-29.flag-rw-r--r-- 1 root root 804515 Jun 29 02:42 bak_2019-06-29.sql-rw-r----- 1 mysql mysql 177 Jun 25 22:54 mysql-bin.000003-rw-r----- 1 mysql mysql 815245 Jun 25 23:17 mysql-bin.000004-rw-r----- 1 mysql mysql 642 Jun 28 17:41 mysql-bin.000005-rw-r----- 1 mysql mysql 5909 Jun 29 02:45 mysql-bin.000006-rw-r----- 1 mysql mysql 76 Jun 28 19:36 mysql-bin.index恢复步骤
1、停止数据库对外访问,防止数据库因update导致数据破坏
2、由于备份语句中加入--master-data=2,可以记录全备后的binlog对应恢复点
[root@leo data]# cd /home/mysql/backup/[root@leo backup]# lltotal 1612-rw-r--r-- 1 root root 72 Jun 29 02:42 bak_2019-06-29.flag-rw-r--r-- 1 root root 804515 Jun 29 02:42 bak_2019-06-29.sql-rw-r----- 1 mysql mysql 177 Jun 25 22:54 mysql-bin.000003-rw-r----- 1 mysql mysql 815245 Jun 25 23:17 mysql-bin.000004-rw-r----- 1 mysql mysql 642 Jun 28 17:41 mysql-bin.000005-rw-r----- 1 mysql mysql 5909 Jun 29 02:45 mysql-bin.000006-rw-r----- 1 mysql mysql 76 Jun 28 19:36 mysql-bin.index[root@leo backup]# sed -n '22p' bak_2019-06-29.sql -- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000006', MASTER_LOG_POS=5181;3、将binlog转换SQL
[root@leo backup]# mysqlbinlog -d test mysql-bin.000006 --start-position=5181 -r test.sql[root@leo backup]# cat test.sql 4、实际环境中后续还有 mysql-bin.000007 .... 需要陆续转换为SQL
5、删除test.sql中drop语句
[root@leo backup]# grep -w drop test.sql drop database test[root@leo backup]# sed -i '/drop database test/d' test.sql [root@leo backup]# grep -w drop test.sql 6、全备恢复数据库
[root@leo backup]# mysql -u root -p -S /home/mysql/3306/data/mysql.sock < bak_2019-06-29.sql Enter password: [root@leo backup]# mysql -u root -p -S /home/mysql/3306/data/mysql.sock -e "select * from test.leo";Enter password: +------+----------+| id | name |+------+----------+| 1 | liufeng || 2 | zhangsan || 3 | liufeng || 4 | zhangsan |+------+----------+7、恢复binlog
[root@leo backup]# mysql -u root -p -S /home/mysql/3306/data/mysql.sock < test.sqlEnter password: [root@leo backup]# mysql -u root -p -S /home/mysql/3306/data/mysql.sock -e "select * from test.leo";Enter password: +------+----------+| id | name |+------+----------+| 1 | liufeng || 2 | zhangsan || 3 | liufeng || 4 | zhangsan || 5 | liufeng || 6 | zhangsan |+------+----------+8、校验数据,恢复数据库对外访问
数据
数据库
备份
全备
语句
对外
实际
步骤
状态
环境
中加
测试
实战
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
移动网络技术吧
中型企业网络技术方案
联想服务器装数据库
2000服务器如何进安全模式
数据库中表的慨念
iis如何配置服务器
数据库的表导出后有何不同
福州德业互联网科技做什么的
南开分局网络安全监督
健康成长网络安全课
ruby服务器搭建
御洲网络技术
争做网络安全小卫士小学
网络安全军工概念股票龙头
网络安全报告总结报告
服务器主机重启是什么原因
网络安全管理规定征求意见
云服务器搭建虚拟手机
深信服网络安全工程学师
兰州电信网络安全
网络技术学习自律app
杭州游卡网络技术有限公司加班
起航货代软件开发商
网络技术秋水
团市委开展网络安全宣传
京东网络安全总监龙刚
数据库可视化软件排名
学校网络安全计划总结
南京洪峰网络技术
查找数据库端口