利用mysqldump给数据库备份方案

本文详细介绍了如何使用mysqldump进行全量和增量备份,包括如何配置自动备份,开启binlog,以及恢复过程。同时提供了相关脚本源码,帮助实现数据库的自动化备份与恢复。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1、mysql备份说明

1.1 全量备份

1.2 增量备份

2、mysqldump全量备份与恢复

2.1 备份指定数据库

2.2 备份指定数据库中的指定表

2.3 备份多个数据库

2.4 备份所有数据库

2.5 mysql恢复

3、增量备份与恢复

3.1 增量备份步骤

3.2 增量恢复步骤

3.2.1 进行全备恢复

3.2.2 利用全备以来所有的二进制日志进行恢复

        

4、自动备份数据库配置

4.1 脚本介绍

4.2 开启binlog

4.2.1 查看binlog是否开启

4.2.2 开启binlog

4.3 备份服务器配置免密登录

4.4 配置文件

4.5 执行脚本

4.5.1 全量备份

4.5.2 增量备份

4.6 配置定时任务

4.6.1 添加定时任务

4.6.2 重启定时任务

4.6.3 查看定时任务执行日志

5、脚本源码

5.1 full_backup.sh

5.2 inc_backup.sh

5.3 cfg.properties

      

               


1、mysql备份说明

1.1 全量备份

        可以使用mysqldump直接备份整个库或者是备份其中某一个库或者一个库中的某一个表

1.2 增量备份

        增量备份是针对于数据库的bin-log日志进行备份的,需要开启数据库的bin-log日志。增量备份是在全量备份的基础上进行操作的。增量备份主要靠mariaDB记录的bin-log日志。(可以把二进制文件保存成每天一个的文件)

2、mysqldump全量备份与恢复

2.1 备份指定数据库

        mysqldump -uroot -proot --databases test --single-transaction --flush-logs --master-data=2 > /usr/local/mysql_backup/test_20230408.sql

2.2 备份指定数据库中的指定表

        mysqldump -uroot -proot --databases test.test_table --single-transaction --flush-logs --master-data=2 > /usr/local/mysql_backup/test.test_table_20230408.sql

2.3 备份多个数据库

        mysqldump -uroot -proot --databases test1 test2 --single-transaction --flush-logs --master-data=2 > /usr/local/mysql_backup/databases_20230408.sql

2.4 备份所有数据库

        mysqldump -uroot -proot--all-databases --single-transaction --flush-logs --master-data=2 > /usr/local/mysql_backup/all_databases_20230408.sql

2.5 mysql恢复

        mysql -uroot -proot test< /usr/local/mysql_back/test_20230408.sql

3、增量备份与恢复

3.1 增量备份步骤

        增量备份一般都是备份binlog文件+使用mysqldump全备

3.2 增量恢复步骤

3.2.1 进行全备恢复

3.2.2 利用全备以来所有的二进制日志进行恢复

        

mysqlbinlog mysql-bin.0000XX | mysql -uroot -proot test

常用参数选项解析:

--start-position=875   #起始pos点

--stop-position=954   #结束pos点

--start-datetime=”2023-04-01 00:00:00” #起始时间点

--stop-datetime=”2023-04-08 00:00:00” #结束时间点

--database=test #指定只恢复test数据库

eg:基于上一次全量备份的时间为2023-04-01,恢复到2023-04-06的增量备份的数据

mysqlbinlog –start-datetime=”2023-04-01 00:00:00” –stop-datetime=”2023-04-06 23:59:59” mysql-bin.0000XX | mysql -uroot -proot test

4、自动备份数据库配置

4.1 脚本介绍

full_backup.sh:全量备份脚本

innc_backup.sh:增量备份脚本

cfg.properties:配置文件

上传三个文件到数据库安装目录,放置在同一目录下,修改权限确定脚本可执行

chmod 755 -R /usr/local/sbin/mysqlbk

4.2 开启binlog

4.2.1 查看binlog是否开启

        show variables like ‘%log_bin%’

4.2.2 开启binlog

        

进入到mysql配置文件(一般在/etc/my.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值