MySQL5.7的备份与恢复简介和使用mysqldump备份MySQL数据库
展开全文
一、备份的类型和其他说明:
1.1 按备份时服务器是否继续提供服务区分:
∙热备份:备份时读写都不受影响
∙温备份:备份时仅可进行读操作
xml文件格式跟txt格式区别∙冷备份:也叫离线备份,读写操作均中止
不同的存储引擎对备份的支持也是不一样的,MyISAM存储引擎可以使用LVM快照功能配合实现热备份,如果没有LVM,则只能实现温备份。而InnoDB则可以完全支持热备,可使用的热备工具有:xtrabackup, mysqldump等
从数据的安全角度来说,离线备份(冷备份)是最安全的,且是最快速的。但离线备份需要
停止服务,对业务带来影响。如果MySQL服务器存在主从服务器,则可以使用将从服务器停机进行冷备份,即保证服务,又保障数据数据安全。
1.2 按备份操作方式区分:
∙物理备份:复制数据文件,特点:速度快
∙逻辑备份:将数据导出至文本文件中,特点:速度慢、丢失浮点数精度;方便使用文本处理工具直接对其处理、可移植能力强
1.3 按是否备份全部数据还是只备份部分数据区别:
∙完全备份:备份全部需要备份的数据
∙增量备份:仅备份上次完全备份或增量备份以后变化的数据
∙差异备份:仅备份上次完全备份依赖变化的数据
一般情况下,根据备份策略组合使用:完全+增量;完全+差异
1.4 其他说明:
备份的目的是在灾难发生时用来还原,因此为了保证可以还原,因此需要定期进行恢复测试,另外还需要根据实际情况制定最优的备份和恢复策略。
那么MySQL备份需要备份那些数据呢?
主要包括:数据、配置文件、二进制日志、事务日志
二、备份工具介绍:
jfreechart中文api2.1 MySQL备份工具:
∙mysqldump: 逻辑备份工具、MyISAM(温)、InnoDB(热备份)
∙mysqlhotcopy:物理备份工具、温备份
2.2 文件系统工具:
cp:冷备份
lv:逻辑卷的快照功能,可以实现几乎热备的功能,备份过程如下:
mysql> FLUSH TABLES;
mysql> LOCK TABLES
然后创建快照:释放锁,而后复制数据
delphi教程pdf2.3 第三方工具:
∙ibbackup: 商业工具,备份速度非常快,支持热备份,但同时也非常贵
∙xtrabackup: 开源工具
三、使用mysqldump对MySQL进行备份:
3.1 基本语法:
备份单个数据或单个数据中的指定表:
mysqldump [OPTIONS] database [tb1] [tb2]…
备份多个数据库:
mysqldump [OPTIONS] --databases [OPTIONS] DB1 []
备份所有数据库:
mysqldump [OPTIONS] --all-databases [OPTIONS]
3.2 选项[OPTIONS]说明:
--all-databases , -A
导出全部数据库。mysql无法连接到服务器
mysqldump -uroot -p --all-databases
--all-tablespaces , -Y
导出全部表空间。
mysqldump -uroot -p --all-databases --all-tablespaces
--no-tablespaces , -y
不导出任何表空间信息。
mysqldump -uroot -p --all-databases --no-tablespaces
--add-drop-database
每个数据库创建之前添加drop数据库语句。
mysqldump -uroot -p --all-databases --add-drop-database
--add-drop-table
每个数据表创建之前添加drop数据表语句。(默认为打开状态,使用--skip-add-drop-table取消选项)
mysqldump -uroot -p --all-databases (默认添加drop语句)
mysqldump -uroot -p --all-databases –skip-add-drop-table (取消drop语句)
--add-locks
orientation中文在每个表导出之前增加LOCK TABLES并且之后UNLOCK TABLE。(默认为打开状态,使用--skip-add-locks取消选项)
mysqldump -uroot -p --all-databases (默认添加LOCK语句)
mysqldump -uroot -p --all-databases –skip-add-locks (取消LOCK语句)
--allow-keywords
允许创建是关键词的列名字。这由表名前缀于每个列名做到。
早期unix系统界面mysqldump -uroot -p --all-databases --allow-keywords
--apply-slave-statements
在'CHANGE MASTER'前添加'STOP SLAVE',并且在导出的最后添加'START SLAVE'。
mysqldump -uroot -p --all-databases --apply-slave-statements
--character-sets-dir
字符集文件的目录
mysqldump -uroot -p --all-databases --character-sets-dir=/usr/local/mysql/share/mysql/charsets
--comments
附加注释信息。默认为打开,可以用--skip-comments取消
mysqldump -uroot -p --all-databases (默认记录注释)
mysqldump -uroot -p --all-databases --skip-comments (取消注释)
--compatible
导出的数据将和其它数据库或旧版本的MySQL 相兼容。值可以为ansi、mysql323、mysql40、postgresql、oracle、mssql、db2、maxdb、no_key_options、no_tables_options、no_field_options等,
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论