MySQL5.7.的备份恢复方案。

Posted jcksb

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL5.7.的备份恢复方案。相关的知识,希望对你有一定的参考价值。

系统:Centos 7.4

版本:mysql5.7.24

备份工具:percona xtrabackupd

全量备份

备份命令:innobackupex --defaults-file=$db_cnf --user=$db_user --password=$user_passwd --stream=tar /tmp | gzip >$data_file

恢复命令:

     service mysql stop  #停止服务

     mv /data/database /data/database_`data +%F`  #重命名数据库数据目录

     mkdir /data/database   #新建数据库数据目录

     tar -zxvf $data_file -C /data/database  #解压备份压缩包到新建数据库数据目录

     innobackupex --defaults-file=/etc/my.cnf --apply-log  /data/database   #恢复

     chown -R mysql:mysql /data/database   #修改权限

     service mysql start  #启动服务

优势:恢复时间短,维护成本低。

劣势:占用磁盘空间多,备份时占用资源多。

推荐:适合大多中小型公司。

 

增量备份

全量+增量备份

命令:innobackupex --defaults-file=$db_cnf --user=$db_user --password=$user_passwd /data/mysqldata/backup/  #一次全量

   innobackupex --defaults-file=$db_cnf --user=$db_user --password=$user_passwd --incremental /data/mysqldata/backup_rec --incremental-basedir=/data/mysqldata/backup/$(`data +%F`)  #增量第一次

恢复命令:

     service mysql stop  #停止服务

     mv /data/database /data/database_`data +%F`  #重命名数据库数据目录

     mkdir /data/database   #新建数据库数据目录

     innobackupex --defaults-file=$db_cnf  --apply-log --redo-only /data/mysqldata/backup/$(`data +%F`)   #恢复全量

     innobackupex --defaults-file=/etc/my.cnf --apply-log --redo-only /data/mysqldata/backup/$(`data +%F`) --incremental-dir=/data/mysqldata/backup_rec/$(`data +%F`)$1  #恢复第一次增量

     innobackupex --defaults-file=/etc/my.cnf --apply-log /data/mysqldata/backup/$(`data +%F`) --incremental-dir=/data/mysqldata/backup_rec/$(`data +%F`)$2 #恢复最后一次增量

     innobackupex --defaults-file=$db_cnf  --apply-log --redo-only /data/mysqldata/backup/$(`data +%F`)   #再执行一次恢复全量

     innobackupex --defaults-file=$db_cnf  --copy-back /data/mysqldata/backup/$(`data +%F`)   #还原备份数据

     chown -R mysql:mysql /data/database   #修改权限

     service mysql start  #启动服务

优势:占用空间小,不经常锁表。

劣势:增量备份越多,恢复时间越长,维护成本越高。

推荐:适合大公司。

 

以上是关于MySQL5.7.的备份恢复方案。的主要内容,如果未能解决你的问题,请参考以下文章

MySQL5.7.20数据库备份与恢复

MySQL5.6下使用xtrabackup部分备份恢复到MySQL5.7

Xtrabackup2.4.8备份还原恢复Mysql5.7.19实操

MySQL5.7.18 备份Mysqldump,mysqlpump,xtrabackup,innobackupex 全量,增量备份,数据导入导出

使用mysqldump 备份 恢复从库报错解决方案(ERROR 1872)

Mysql5.7.20安装文档