mysql数据库的全量与增量的备份以及恢复方式
短信预约 -IT技能 免费直播动态提醒
一、全量备份与恢复
1.全量备份
mysqldump -uroot -proot --databases -default-character-set=utf8mb4 > backup.sql
2.删掉某个数据库
drop database sys;
3.全量恢复数据库
mysql -uroot -proot < backup.sql;
二、增量备份与恢复
1.查看增量是否开启,我们发现log_bin开启证明开启了
show varibles like '%bin%';
2.创建一个数据库并创建表中信息
create table stu_info(
stu_nu int primary key auto_increment,
stu_name varchar(30) not null
) auto_increment=1001;
3.插入数据
insert into stu_info values(null,'张三'),(null,'李四'),(null,'王五');
select * from stu_info;
4.进行一次全量的备份
mysqldump -uroot -proot --all-databases --default-character-set=utf8mb4 > backup1.sql
5.做完备份刷新一下数据库,重新进行写入数据
mysqladmin -uroot -proot flush-logs
6.在数据库中增加一条新的数据,删除原来的一条数据
insert into stu_info values (null,'李丽');
delete from stu_info where stu_nu=1002;
select * from stu_info;
7.删掉其中一个数据库
drop databases mydb;
三、全量、增量的数据库恢复
1.先刷新一下数据库
flush logs;
2.查看数据库之前的所有的数据
show master logs;
3.查看当前使用的数据库
show master status;
4.查看之前数据的操作,确定在哪里被删除的,我们发现在926时候删除的
show binlog events in 'binlog.000009';
5.先进行一个全量恢复
mysql -uroot -proot < backup1.sql
6.查看数据库信息
show databases;
7.我们看mydb数据发现虽然是进行了全量恢复,但是我们没恢复删除前的数据。
select * from stu_info;
8.将删除数据前的数据记录设置为增量数据
mysqlbinglog binlog.000009 > increment.sql
9.进行增量恢复的操作
mysqlbinlog -uroot -proot binlog.000009 --start-position=4 --stop-position=822 -r result.sql
mysql -uroot -proot < result.sql
10.查看数据是否恢复
select * from stu_info;
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.lsjlt.com)。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341