MySQL备份工具之mysqldump使用
MySQL备份工具之mysqldump使用说明
一、备份分类
根据能否停用数据库,将备份类型分为:
1. 冷备:数据库服务停止后备份
2. 温备:只能对数据库进行读操作,不能进行写操作
3. 热备:在线备份,可以对数据库进行读写操作
根据是直接备份数据库文件还是数据库里面的数据,将备份类型分为:、
1. 物理备份:直接复制数据库文件
2. 逻辑备份:将数据导出到文本文件中
根据备份是备份全部内容还是部分内容,将备份类型分为:
1. 完全备份:full backup,备份全部数据
2. 差异备份:fidderential backup,只备份上次完全备份以来变化的数据
3. 增量备份:incrementl backup,只备份上次完全增量备份以后的数据
注:因此数据库备份策略一般是完全备份+增量备份,或者完全备份+差异备份
二、备份工具
mysqldump:是逻辑备份工具,mysqldump进行温备份,备份时需要加上一个全局锁,客户端只能进行读操作。
mysqlbackup:对于innodb引擎的表mysqlbackup可以进行热备;但是对于非innodb表mysqlbackup就只能温备了。
Xtrabackup:
1.xtrabackup是一种物理备份工具,通过协议连接到mysql服务端,然后读取并复制innodb底层的"数据块",完成所谓的"物理备份"。
2.支持对innodb进行热备、增量备份、差量备份。
3.支持对myisam进行温备,因为在备份myisam表时,会对myisam表添加读锁,而且不能对myisam表进行增量备份,每次备份myisam数据都是全量,即使名义上是增量,但是实际上仍然是全量。
注:innodb引擎热备,myism引擎温备。
三、备份工具mysqldump
常用选项:
--add-drop-database:每个数据库创建之前添加drop数据库语句
-A,--all-databases: Dump all the databases
-B,--databases: --databases db1 db2... 备份指定的多个库
--x,--lock-all-tables:请求锁定所有表之后在备份
-l,--lock-tables:锁定指定的表
--single-transaction:能够对InnoDB存储引擎实现热备
--events:为备份的数据库备份事件
--routines:备份routines(存储过程和函数)
--triggers:为每个备份的表备份trigger
-q,--quick:快速导出,备份时逐行读取表而非一次全部行后缓冲在内存中。在备份大表时有用。
-F,--flush-logs:备份前,请求到锁之后滚动日志
--all-tablespaces,-Y: 备份所有表空间
--force, -f:即使发现sql错误,仍然继续备份
--no-data, -d:只导出表结构
--tables:覆盖 --databases or -B选项,后面所跟参数被视作表名
--add-drop-table:在每个创建数据库表语句前添加删除数据库表的语句
--add-locks:备份数据库表时锁定数据库表;
--comments:添加注释信息;
--compact:压缩模式,产生更少的输出
--complete-insert:输出完成的插入语句
--default-character-set:指定默认字符集
--host:指定要备份数据库的服务器;
--lock-tables:备份前,锁定所有数据库表
--no-create-db:禁止生成创建数据库语句
--no-create-info:禁止生成创建数据库库表语句
--password:连接MySQL服务器的密码
--port:MySQL服务器的端口号
--user:连接MySQL服务器的用户名
--socket,-S:指定连接mysql的socket文件位置
--master-data=[0|1|2]:记录二进制日志文件及位置
0表示不记录
1表示记录change master语句
2记录为注释的change master语句
--opt是quick,add-drop-table,add-locks,extended-insert,lock-tables几个参数的合称,一般都要使用
注:备份和恢复的过程比较慢,很难实现差异或增量备份恢复,如果目标库不存在,需要事先手动创建。
本次实验操作用的是mariadb,默认引擎为innodb
下面用mysqldump工具进行mysql数据库备份操作:
方法一:锁表,滚动日志,备份
MariaDB [(none)]> flush tables with read lock; #锁表,只能读不能写
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> flush logs; #滚动日志
Query OK, 0 rows affected (0.00 sec)
mysqldump -uroot -p123456 --databases zabbix | gzip > /opt/zabbix.sql.gz
方法二:适用于MyISAM存储引擎
mysqldump -uroot -p123456 --database zabbix --lock-all-tables --flush-logs | gzip > /opt/zabbix.sql.gz
方法三:使用于innodb存储引擎,innodb支持热备,mariadb默认支持innodb引擎
mysqldump -uroot -p123456 --database zabbix --single-transaction --flush-logs | gzip > /opt/zabbix.sql.gz
扩展:既然熟悉了mysqldump命令,那么可不可以写一个mysql的备份脚本呢?同时用邮件的方式发送通知给管理员?
总结:mysqldump备份方式是采用的逻辑备份,其最大的缺陷是备份和恢复速度较慢,如果数据库大于50G,mysqldump备份就不太适合。
四、使用mysqldump进行增量备份
MySQL备份工具之mysqldump使用的更多相关文章
- mysql备份工具 :mysqldump mydumper Xtrabackup 原理
备份是数据安全的最后一道防线,对于任何数据丢失的场景,备份虽然不一定能恢复百分之百的数据(取决于备份周期),但至少能将损失降到最低.衡量备份恢复有两个重要的指标:恢复点目标(RPO)和恢复时间目标(R ...
- MySQL备份--xtrabackup与mysqldump工具使用
MySQL备份----xtrabackup与mysqldump工具的使用 一.Xtrabackup8.0: 一个用于MySQL数据库物理热备的备份工具,支持MySQL.Percona server和M ...
- mysql 备份报错mysqldump: [Warning] Using a password on the command line interface can be insecure.
-------------------------------------------------------------------------------- mysql 备份报错mysqldump ...
- mysql备份工具innobackupex,xtrabackup-2.1的原理和安装
mysql备份工具innobackupex,xtrabackup-2.1的原理和安装 http://bbs.2cto.com/read.php?tid=310496 一.Xtrabackup介绍 1. ...
- Mysql备份工具xtraback全量和增量测试
Mysql备份工具xtraback全量和增量测试 xtrabackup 是 percona 的一个开源项目,可以热备份innodb ,XtraDB,和MyISAM(会锁表) 官方网址http:// ...
- Mysql备份工具比较
Mysql备份工具比较 大 | 中 | 小 [ 2012/12/25 12:10 | by Sonic ] 1. 使用automysqlbackup http://sourceforge.net/pr ...
- Mysql备份工具mysqldump和mysqlhotcopy
(1).Mysql备份类型 1)按照备份时对数据库的影响分为 Hot backup(热备):也叫在线备份.指在数据库运行中直接备份,对正在运行的数据库没有任何影响. Cold backup(冷备):也 ...
- (3.1)mysql备份与恢复之mysqldump
目录: 1.单实例联系 1.1.备份单个数据库联系多种参数使用 [1]mysqldump命令备份演示 [2]查看备份文件 [3]用备份文件还原 1.2.mysqldump 各类参数释义 [1]--de ...
- mysql二进制日志和mysql备份工具介绍以及日志恢复
mysql备份: 三种备份方式 冷备:数据库停机,在进行备份 热备:lock table锁表,read 数据库只可以读不能写,在备份 温备:备份时数据库正常运行 备份类型:完整备份:全部备份,部分 ...
随机推荐
- flask报错:werkzeug.routing.BuildError: Could not build url for endpoint 'index'. Did you mean 'single' instead?
错误代码 参考:https://blog.csdn.net/qq_27468251/article/details/81359701 改为
- 「HNOI2016」最小公倍数
链接 loj 一道阔爱的分块 题意 边权是二元组(A, B),每次询问u, v, a, b,求u到v是否存在一条简单路径,使得各边权上\(A_{max} = a, B_{max} = b\) 分析 对 ...
- 【正睿oi省选十连测】第一场
四小时写了两个暴力??自闭 [原来这就是神仙们的分量Orz rank 56/75 可以说是无比垃圾了 下周目标:进步十名?[大雾 T1 题意:有n个点的图 点有点权Ai 也有点权Bi = A_1 + ...
- table用模板生成的问题
在使用<template></template>存放HTML模板标记时,发现一个烦人的问题,表格不行. <template> <table> <t ...
- 「SCOI2016」美味 解题报告
「SCOI2016」美味 状态极差无比,一个锤子题目而已 考虑每次对\(b\)和\(d\)求\(c=d \ xor \ (a+b)\)的最大值,因为异或每一位是独立的,所以我们可以尝试按位贪心. 如果 ...
- 黑苹果 技嘉 B250M-DS3H-CF i57500 HD630 EFI引导驱动发布
1. 鉴于苹果的MacOS OSX系统的优越性,由于现在公司的电脑为windows但是自己用的笔记本又是Mac,导致需要适应两套系统,超级麻烦.故想在电脑上装上黑苹果的计划 相关配置地址:https: ...
- (三)flask中的请求钩子函数
请求勾子 在客户端和服务器交互的过程中,有些准备工作或扫尾工作需要处理,比如: 在请求开始时,建立数据库连接: 在请求开始时,根据需求进行权限校验: 在请求结束时,指定数据的交互格式: 为了让每个视图 ...
- 我眼中的 Docker(二)Image
Docker 安装 如何安装 docker 详见官网: installation 或者 中文指南. 不过 linux 上我推荐用 curl 安装,因为 apt-get 中源要么没有 docker,要么 ...
- 洛谷P1196 银河英雄传说
大意:你有30000个队列,第i个队列中只有i 有T个操作,1,把某个队列头接到另一个队列尾. 2,问两个元素之间的距离. 本题主要有三种解法. ①带权并查集. 具体来说就是,并查集维护当前集合的大小 ...
- zxing二维码的生成与解码(C#)
ZXing是一个开源Java类库用于解析多种格式的1D/2D条形码.目标是能够对QR编码.Data Matrix.UPC的1D条形码进行解码. 其提供了多种平台下的客户端包括:J2ME.J2SE和An ...