MySQL——备份与恢复
MySQL数据库备份和恢复 --备份类型:
1、热备份(只有InnoDB支持)(不影响业务,最好的方式)
2、冷备份( 阻止用户访问)
3、温备份 --备份方式:
1、逻辑备份(文本表示:SQL语句)
2、物理备份(数据文件的二进制副本)
3、基于快照的备份
4、基于复制的备份
5、增量备份(刷新二进制日志) --备份工具:
1、 mysqldump: mysql原生自带的很好用的逻辑备份工具
2、 mysqlbinlog: 实现binlog备份的原生态命令,逻辑备份
3、 xtrabackup: 物理备份工具 ----------------------------------------------------------------------------------------------------------------------------------- MySQL数据库备份详解: 1、mysqldump
mysqldump -uroot -p123456 --all-databases >/backup/full.sql (备份全库) ---->恢复(前提是数据库为启动状态): source /backup/full.sql; 或 用“<”
mysqldump -uroot -p123456 -B oldboy >/backup/full.sql (备份单库) 备份多个表:
mysqldump 库1 表1 表2 表3 >库1.sql mysqldump参数:
-A, --all-databases: 全库备份 ***
-B:带有建库(create)及(use)库的语句,可以直接接多个库,例如同时备份多个库为: ... -B 库1 库2 ***
-R, --routines: 备份存储过程和函数数据 ***
--triggers: 备份触发器数据 ***
-F, --flush-logs: 刷新binlog日志(备份时滚动binlog日志) ***
--master-data=1/2: 告诉你备份后时刻的binlog位置 ***
2: 注释----> 会在备份的额SQL文件中头部,记录备份时用到哪个binlog文件了,并且记录position号到哪里
1: 非注释,要执行(主从复制) -d: 仅表结构(不常用)
-t: 仅数据(不常用)
--compact: 减少无用数据数据输出(调试)(不常用) 锁表备份(innodb/myisam)(备份结束之前不能对表进行操作): ***
-x, --lock-all-tables ---->锁定所有备份的表
-l, --lock-tables ---->锁定单表
--master-data可以自动进行锁表和释放锁,如果用了--master-data就不需要加-x和-l --single-transaction: 对innodb引擎进行热备 *** 2、xtrabackup
(1)安装xtrabackup
(2)全备备份:
备份命令:
xtrabackup
innobackupex(重要)(支持InnoDB和MyISAM) innobackupex --user=root --password=123456 /backup/full (全库备份) 恢复:
恢复前的准备(应用日志):
innobackupex --apply-log /backup/full
恢复:
innobackupex --copy-back /backup/full (4)增量备份:
原理:
基于上一次的备份做增量
基于上一次备份后的变化的数据页,还要备份在备份过程中的redo、undo变化 增量备份:
innobackupex --user=root --password=123456 --incremental --no-timestamp(如果不加则会以时间命名) --incremental-basedir=/backup/full /backup/xinc1 恢复:
1、应用全备日志:
innobackupex --apply-log --redo-only /backup/full
2、合并增量到全备:
innobackupex --apply-log --incremental-dir=/backup/xinc1 /backup/full
3、恢复: 3、备份实战:39期视频课程第09,第04
MySQL——备份与恢复的更多相关文章
- ch5 MySQL 备份与恢复
第 5 章 MySQL 备份与恢复 前言 数据库的备份与恢复一直都是 DBA 工作中最为重要的部分之一,也是基本工作之一.任何正式环境的数据库都必须有完整的备份计划和恢复测试,本章内容将主要介绍 My ...
- mysql常用操作 mysql备份与恢复
先登录mysql ==>mysql -uroot -p 查看数据库的版本 select version(); 查看有哪些库 show datases; 查看当前处于哪个库 select da ...
- 第 5 章 MySQL 备份与恢复
第 5 章 MySQL 备份与恢复 前言 数据库的备份与恢复一直都是 DBA 工作中最为重要的部分之一,也是基本工作之一.任何正式环境的数据库都必须有完整的备份计划和恢复测试,本章内容将主要介绍 My ...
- centos LAMP第四部分mysql操作 忘记root密码 skip-innodb 配置慢查询日志 mysql常用操作 mysql常用操作 mysql备份与恢复 第二十二节课
centos LAMP第四部分mysql操作 忘记root密码 skip-innodb 配置慢查询日志 mysql常用操作 mysql常用操作 mysql备份与恢复 第二十二节课 mysq ...
- Data Base mysql备份与恢复
mysql 备份与恢复 为什么要备份: 由于系统使用到了MySQL 数 据库,所以每天的工作,就设计到了MySQL数据库的备份问题.但如果每天手工来做MySQL数据库的定时备份,工作量不说,时间还不 ...
- Mysql备份与恢复(2)---逻辑备份
数据库及时备份可以帮助我们在数据库出现异常宕机时及时的使用备份数据进行恢复工作,将因为数据库宕机产生的影响降低到最小.上一篇针对使用xtrabackup工具进行物理备份和数据恢复做了一个详细讲解,本篇 ...
- mysql备份与恢复-xtracebackup
因为percona打算放弃使用innobackupex备份工具,因此我们这里也说明一下innobackupex的兄弟工具xtraceback工具的使用 这个工具的安装可以参考上面的一些博文,上面详细说 ...
- MySQL备份与恢复-mydumper
上一片博文中,我们说明了mysqldump的备份与恢复.因为mysqldump是单线程导出,单线程恢复的,因此备份与恢复的时间比较长! 首先来安装mydumper: 下载源码:https://gith ...
- 27.MySQL备份与恢复
27.备份与恢复27.1 备份/恢复策略考虑因素:备份表的存储引擎(事务性or非事务性):全备份or增量备份用复制做异地备份定期备份,考虑恢复时间确保mysql打开log-bin,有了BINLOG,M ...
- MySQL备份与恢复.md
备份与恢复使用的命令 mysqldump 常用选项 -A, --all-databases:导出全部数据库 -B, --databases:导出几个数据库.参数后面所有名字参量都被看作数据库名. -- ...
随机推荐
- 从零开始了解kubernetes
kubernetes 已经成为容器编排领域的王者,它是基于容器的集群编排引擎,具备扩展集群.滚动升级回滚.弹性伸缩.自动治愈.服务发现等多种特性能力. 本文将带着大家快速了解 kubernetes , ...
- (数据科学学习手札126)Python中JSON结构数据的高效增删改操作
本文示例代码及文件已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 在上一期文章中我们一起学习了在Python ...
- C++//菱形继承 //俩个派生类继承同一个基类 //又有某个类同时继承俩个派生类 //成为 菱形继承 或者 钻石 继承//+解决
1 //菱形继承 2 //俩个派生类继承同一个基类 3 //又有某个类同时继承俩个派生类 4 //成为 菱形继承 或者 钻石 继承 5 6 #include <iostream> 7 #i ...
- 使用各类BeanUtils的时候,切记注意这个坑!
在日常开发中,我们经常需要给对象进行赋值,通常会调用其set/get方法,有些时候,如果我们要转换的两个对象之间属性大致相同,会考虑使用属性拷贝工具进行. 如我们经常在代码中会对一个数据结构封装成DO ...
- Use Emacs as Personal Knowledge Base
http://stackoverflow.com/questions/2014636/how-to-maintain-an-emacs-based-knowledge-base
- Build VM Cluster on CentOS Host
Host Machine [root@bocoty49 ~]# lsb_release -a LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0 ...
- How to name a slf4j logger
Use logger in a non-static context: Logger logger = LoggerFactory.getLogger(this.getClass().getName( ...
- MyBatis学习04(注解开发)
7.使用注解开发 7.1 面向接口编程 根本原因 : 解耦 , 可拓展 , 提高复用 , 分层开发中 , 上层不用管具体的实现 , 大家都遵守共同的标准 , 使得开发变得容易 , 规范性更好 在一个面 ...
- 超硬核 Web 前端学霸笔记,学完就去找工作!
文章和教程 Vue 学习笔记 Node 学习笔记 React 学习笔记 Angular 学习笔记 RequireJS 学习笔记 Webpack 学习笔记 Gulp 学习笔记 Python 学习笔记 E ...
- ubuntu18.4 与pc notepad++ 使用nppftp
首先在linux上部署 vsftpd 安装过程可能有一些问题.我之前的一个文章有所说明. 然后更改配置文件 vsftpd.conf 最简单是开启匿名登录,有时候还要开启root登录,在user文件里面 ...