- 1、本文档共2页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MySQL备份和其恢复机制原理简述
MySQL 备份和其恢复机制原理简述
文章主要讨论的是MySQL 备份和其恢复机制,以及对维护数据表的正确维护,其中主
要包括的两种不同表的类型有MyISAM 与Innodb,文中所设计的 MySQL 版本为 5.0.22 。以
下就是具体内容的描述。
目前 MySQL 支持的免费MySQL 备份工具有:mysqldump、mysqlhotcopy,还可以用 SQL
语法进行备份:BACKUP TABLE 或者 SELECT INTO OUTFILE,又或者备份二进制日志(binlog),
还可以是直接拷贝数据文件和相关的配置文件。MyISAM 表是保存成文件的形式,因此相对
比较容易备份,上面提到的几种方法都可以使用。Innodb 所有的表都保存在同一个数据文
件 ibdata1 中(也可能是多个文件,或者是独立的表空间文件),相对来说比较不好备份,
免费的方案可以是拷贝数据文件、备份binlog,或者用mysqldump。
1、mysqldump
1.1 备份
mysqldump 是采用SQL 级别的备 MySQL 份机制,它将数据表导成 SQL 脚本文件,在
不同的 MySQL 版本之间升级时相对比较合适,这也是最常用的备份方法。
现在来讲一下mysqldump 的一些主要参数:
compatible=name 它告诉 mysqldump ,导出的数据将和哪种数据库或哪个旧版本的
MySQL 服务器相兼容。值可以为ansi、mysql323、mysql40、postgresql、oracle、mssql、db2、
maxdb、no_key_options、no_tables_options、no_field_options 等,要使用几个值,用逗号将
它们隔开。当然了,它并不保证能完全兼容,而是尽量兼容。
complete-insert,-c 导出的数据采用包含字段名的完整 INSERT 方式,也就是把所有的
值都写在一行。这么做能提高插入效率,但是可能会受到 max_allowed_packet 参数的影响
而导致插入失败。因此,需要谨慎使用该参数,至少我不推荐。
default-character-set=charset 指定导出数据时采用何种字符集,如果数据表不是采用默
认的 latin1 字符集的话,那么导出时必须指定该选项,否则再次导入数据后将产生乱码问
题。
disable-keys 告诉mysqldump 在 INSERT 语句的开头和结尾增加 /*!40000 ALTER TABLE
table DISABLE KEYS */; 和 /*!40000 ALTER TABLE table ENABLE KEYS */; 语句,这能大大提高插
入语句的速度,因为它是在插入完所有数据后才重建索引的。该选项只适合MyISAM 表。
extended-insert = true|false 默认情况下,mysqldump 开启 --complete-insert 模式,因此不想
用它的的话,就使用本选项,设定它的值为 false 即可。
hex-blob 使用十六进制格式导出二进制字符串字段。如果有二进制数据就必须使用本选
项。影响到的字段类型有 BINARY、VARBINARY 、BLOB。
lock-all-tables ,-x 在开始导出之前,提交请求锁定所有数据库中的所有表,以保证数据
的一致性。这是一个全局读锁,并且自动关闭 --single-transaction 和 --lock-tables 选项。
lock-tables 它和 --lock-all-tables 类似,不过是锁定当前导出的数据表,而不是一下子锁定全
部库下的表。本选项只适用于 MyISAM 表,如果是 Innodb 表可以用 --single-transaction 选
项。
no-create-info,-t 只导出数据,而不添加 CREATE TABLE 语句。
no-data,-d 不导出任何数据,只导出数据库表结构。
opt 这只是一个快捷选项,等同于同时添加 --add-drop-tab
文档评论(0)