mysql数据库的全量与增量的备份以及恢复方式

 更新时间:2024年09月14日 10:17:02   作者:Computer Virus  
在数据库管理中,全量备份与恢复是将整个数据库的数据导出并在需要时完整地恢复,这通常使用mysqldump工具完成,增量备份则是在全量备份的基础上,只备份那些自上次全量备份后发生变化的数据,这需要数据库的二进制日志(binlog)开启

一、全量备份与恢复

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;

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • mysql导入sql文件常用的方法及适用场景

    mysql导入sql文件常用的方法及适用场景

    在日常学习和工作,难免不了使用Mysql数据库,有时候需要导入导出数据库,或者其中的数据表,这篇文章主要介绍了mysql导入sql文件常用的方法及适用场景,需要的朋友可以参考下
    2025-08-08
  • mysql视图原理与用法实例详解

    mysql视图原理与用法实例详解

    这篇文章主要介绍了mysql视图原理与用法,结合实例形式详细分析了mysql视图的概念、原理、使用方法及操作注意事项,需要的朋友可以参考下
    2020-04-04
  • 有关mysql的一些小技巧

    有关mysql的一些小技巧

    有关mysql的一些小技巧,有需要的朋友可以参考下
    2013-02-02
  • 使用MySQL如何实现分页查询

    使用MySQL如何实现分页查询

    这篇文章主要介绍了使用MySQL如何实现分页查询,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • 21条MySQL优化建议(经验总结)

    21条MySQL优化建议(经验总结)

    这篇文章主要介绍了21条MySQL优化建议,均来自个人的实战经验总结,需要的朋友可以参考下
    2014-07-07
  • MySQL按时间拆分千万级大表的实现代码

    MySQL按时间拆分千万级大表的实现代码

    这篇文章主要介绍了MySQL按时间拆分千万级大表,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-09-09
  • 关于MySQL自增ID的一些小问题总结

    关于MySQL自增ID的一些小问题总结

    这篇文章主要给大家总结介绍了关于MySQL自增ID的一些小问题,文中通过示例代码介绍的非常详细,对大家学习或者使用MySQL具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-11-11
  • Mysql事务隔离级别原理实例解析

    Mysql事务隔离级别原理实例解析

    这篇文章主要介绍了Mysql事务隔离级别原理实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • MySQL pt-query-digest从安装到实战的慢查询优化实战指南

    MySQL pt-query-digest从安装到实战的慢查询优化实战指南

    本文介绍了pt-query-digest工具的安装、配置、核心原理和实战应用,包括慢查询分析步骤、常见场景命令模板及使用技巧,通过合理配置和分析,能够有效提升MySQL性能,感兴趣的朋友跟随小编一起看看吧
    2026-04-04
  • MySQL使用GROUP BY分组查询

    MySQL使用GROUP BY分组查询

    GROUP BY关键字可以根据一个或多个字段对查询结果进行分组,本文主要介绍了MySQL使用GROUP BY分组查询,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-08-08

最新评论