本文主要给大家介绍误删除mysql数据库表该如何恢复操作方法,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下误删除mysql数据库表该如何恢复操作方法吧。
vim /etc/my.cnf
[mysqld] 下面加入log-bin 表示开启二进制日志功能
mysqldump -A -F --master-data=2 --single-transaction |gzip > /data/all.sql.gz
备份数据库文件并用gzip压缩,存放到/data目录
insert students (name,age)values('a',20);
insert students (name,age)values('b',30);
select * from students 查询新加入的表信息
drop table students;如图下,已将students表删除;
insert teachers (name,age)values('zhangsir',30);
flush tables with read lock; 给表加上读锁
vim /etc/my.cnf
skip-networking 确保其它用户不能访问数据库,只能自己操作
rm -rf /var/lib/mysql 将原来的数据库文件删除,避免原来有文件
scp /data/all.sql.gz 192.168.190.129:/data
将原来备份的文件,复制到现主机的目录中
gzip -d /data/all.sql.gz 解压打包的备份文件
mysql < /data/all.sql 将文件导入到数据库中
less /data/all.sql 查看二进制日志位置
确定二进制日志,以及起始位置为245
scp /var/lib/mysql/mariadb-bin.000002 192.168.190.129:/data
将二进制文件拷贝过来
mysqlbinlog -- start-position=245 /data/mariadb-bin.000002 > /data/binlog.sql
使用mysqlbinlog工具,生成新的二进制日志
vim /data/binlog.sq
找到drop table students; 这条sql语句,注释有关此行
mysql < /data/binlog.sql
导入二进制日志文件
恢复用户的访问
show databases;
show tables
上图中的students表已经恢复过来
如图所示,之前做的修改也都回来了。实验目的达到了。
mariadb 数据库破坏后,需要借助完全备份+二进制日志文件进行还原,两者缺一不可,两者都非常重要,生产中既要保护好备份的数据库文件,同时还需要保护好二进制文件,从而保证数据还原的完整性。
看完以上关于误删除mysql数据库表该如何恢复操作方法,很多读者朋友肯定多少有一定的了解,如需获取更多的行业知识信息 ,可以持续关注我们的行业资讯栏目的。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。