千家信息网

mysql学习笔记之备份与恢复

发表于:2025-11-13 作者:千家信息网编辑
千家信息网最后更新 2025年11月13日,5 .备份恢复相关关键词:策略规划,恢复演练,还原与恢复恢复点目标(PRO):容忍丢失多少数据恢复时间目标(RTO):需要多久将数据恢复备份理由:灾难恢复,错误修改,审计,测试5.1 逻辑备份与恢复5
千家信息网最后更新 2025年11月13日mysql学习笔记之备份与恢复

5 .备份恢复

相关关键词:

策略规划,恢复演练,还原与恢复

恢复点目标(PRO):容忍丢失多少数据

恢复时间目标(RTO):需要多久将数据恢复

备份理由:灾难恢复,错误修改,审计,测试

5.1 逻辑备份与恢复

5.1.1 备份

##查看帮助mysqldump --help##备份某个表mysqldump -uroot -h227.0.0.1 -p'password'  sakila test > sakila_test.sql##备份某个数据库mysqldump -uroot -p'password' -h227.0.0.1 --single-transaction --triggers --routines --databases sakila > sakila.sql##备份所有数据库mysqldump --single-transaction --quick --flush-logs --master-data=2 --all-databases --triggers --routines --events --set-gtid-purged=off  > backup.sql

5.1.2 恢复

1. 完全恢复
##查看当前二进制日志mysql> show master status;##备份时切换日志,并记录后续日志,如新日志从mysql-bin.000007 开始##读取增量的二进制日志mysqlbinlog --skip-gtids mysql-bin.000007 > bin7.sqlmysqlbinlog --skip-gtids mysql-bin.000008 > bin8.sql##完全恢复mysql> source backup.sql;mysql> source bin7.sql;mysql> source bin8.sql;
2. 基于时间点的恢复
shell> mysqlbinlog --stop-date="2019-09-11 9:59:59" mysql-bin.000007 > bin7_pos1.sqlshell> mysqlbinlog --start-date="2019-09-11 10:01:01" mysql-bin.000007 > bin7_pos2.sqlshell> mysqlbinlog --skip-gtids mysql-bin.000008 > bin8.sqlmysql> source backup.sql;mysql> source bin7_pos1.sql;mysql> source bin7_pos2.sql;mysql> source bin8.sql;
3. 基于位置的恢复
shell>mysqlbinlog --start-date="2019-09-11 9:59:59" --stop-date="2019-09-11 10:01:01"  mysql-bin.000007 >bin7_pos.sql#找到位置号,如3601  和 3609shell> mysqlbinlog --stop-position="3601" mysql-bin.000007 > bin7_pos1.sqlshell> mysqlbinlog --start-position="3609" mysql-bin.000007 > bin7_pos2.sqlmysql> source backup.sql;mysql> source bin7_pos1.sql;mysql> source bin7_pos2.sql;mysql> source bin8.sql;

5.1.3 mysqlpump备份与恢复

```shell 略

## 5.2 物理备份### 5.2.1 Xtrabackup安装1.添加源```shellyum install http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm##检查yum list|grep  percona-xtrabackup-24.x86_64

2.安装

##缺少依赖包libev.so.4的处理rpm -ivh libev-4.15-1.el6.rf.x86_64.rpm##安装rpm -ivh percona-xtrabackup-80-8.0.7-1.el7.x86_64.rpm

5.2.2 备份原理

5.2.3 全量热备份

##创建备份用户create user 'backup'@'%' identified by 'Bk_123456';grant reload,lock tables,replication client,create tablespace,process,super on *.* to 'backup'@'%';

##普通备份innobackupex --default-file=/data/mysql/3306/my3306.cnf  --host=192.168.56.16 --user=backup --password='Bk_123456'  --datadir=/data/mysql/3306/data  --port=3306 --slave-info --no-timestamp  /home/mysql/backup/dbfull_3306_`date '+%Y%m%d_%H%M'`##流式压缩备份innobackupex --default-file=/data/mysql/3306/my3306.cnf  --host=192.168.56.16 --user=backup --password='Bk_123456'  --datadir=/data/mysql/3306/data  --port=3306   --no-timestamp --stream=xbstream -> /home/mysql/backup/backup.xbstream.`date '+%Y%m%d_%H%M'`

##加密备份innobackupex --default-file=/data/mysql/3306/my3306.cnf  --host=192.168.56.16 --user=backup --password='Bk_123456'  --datadir=/data/mysql/3306/data  --port=3306 --encrypt=AES256 --encrypt-threads=10 --encrypt-key=111111111111111111111111 --encrypt-chunk-size 512 --no-timestamp --stream=xbstream -> /home/mysql/backup/backup.xbstream.encrypt.`date '+%Y%m%d_%H%M'`

5.2.4 增量热备份

##普通增量innobackupex --defaults-file=/data/mysql/3306/my3306.cnf   --host=192.168.56.16 --user=root --password='password'  --datadir=/data/mysql/3306/data --incremental-basedir=/data/mysql/backup/2019-09-11_16-47-59 --incremental /data/mysql/backup/increment##流式加密增量innobackupex --defaults-file=/data/mysql/3306/my3306.cnf   --host=192.168.56.16 --user=root --password='password'  --datadir=/data/mysql/3306/data --incremental-basedir=/data/mysql/backup/2019-09-11_16-47-59 --incremental --compress --compress-threads=10 --encrypt=AES256 --encrypt-threads=10 --encrypt-key=111111111111111111111111 --stream=xbstream ./ > /data/mysql/backup/increment/increment.stream

如果是第二次增量,-incremental-basedir= 上次增量的目录

5.3 物理恢复

5.3.1 全量备份的恢复

##流式解压mkdir /home/tempxbstream -x < /data/mysql/backup/backup.xbstream -C /home/tempinnobackupex --decompress --decrypt=AES256 --encrypt-key=1111111111111111111111111 /home/tempinnobackupex --copy-back  --defaults-file=/data/mysql/3306/my3306.cnf /home/temp##应用redoinnobackupex --host=192.168.56.16 --user=backup --password='Bk_123456' --apploy-log  /home/mysql/backup/2019-09-12_10-18-57##恢复全备(关闭数据库,清空数据目录)innobackupex --default-file=/data/mysql/3306/my3306.cnf --datadir=/data/mysql/3306/data  --copy-back  /home/mysql/backup/2019-09-12_10-18-57chown -R mysql:mysql /data/mysql

5.3.2 增量备份的恢复

##innobackupex --host=192.168.56.16 --user=backup --password='Bk_123456' --apply-log --redo-only  /home/mysql/backup/2019-09-12_10-18-57##innobackupex --host=192.168.56.16 --user=backup --password='Bk_123456' --apply-log --redo-only  /home/mysql/backup/2019-09-12_10-18-57 --incremental-dir=/data/mysql/backup/increment/2019-09-12_09-11-23 ##innobackup --host=192.168.56.16 --user=backup --password='Bk_123456' --apply-log  /home/mysql/backup/2019-09-12_10-18-57 --incremental-dir=/data/mysql/backup/increment/2019-09-13_09-11-50 ##恢复全备(关闭数据库,清空数据目录)innobackupex --default-file=/data/mysql/3306/my3306.cnf --datadir=/data/mysql/3306/data  --copy-back  /home/mysql/backup/2019-09-12_10-18-57chown -R mysql:mysql /data/mysql
备份 数据 增量 日志 数据库 目录 普通 二进制 位置 数据恢复 时间 物理 目标 全备 加密 关键 关键词 原理 灾难 理由 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 蓬江手机软件开发 凡尔网络技术服务部 淮北市鲲梦互联网科技有限公司 网络安全宣传周学校报到 预防校园网络安全手抄报大全 双路服务器可以只用一个CPU吗 上海数据库设计容量怎么算 数据库可以用什么语言 惠普8600无法连接服务器 防疫情网络安全交通安全体会 软件开发和施工哪个好 梅花互联网科技有限公司 统一软件开发过程pdf下载 网络安全测试步骤 两会对于网络安全的看法 数据库期末试卷 软件开发项目实施前准备 山东pdu服务器电源生产厂 放在内网的服务器安全 明日之后所有渠道服服务器名称 相城区进口服务器高质量的选择 原装电路组成硬软件开发定制 软件开发商怎么投资 龙芯服务器中国 web浏览器和服务器区别 深圳云服务器散热器哪家好 长沙软件开发人员 网络安全有什么现实意义 温州助力智慧社区软件开发 mysql的两种访问服务器方式
0