目录
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.