网站大量收购独家精品文档,联系QQ:2885784924

MySQL开发和 与实践第12章备份和 与恢复.ppt

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MySQL开发和 与实践第12章备份和 与恢复.ppt

;;12.1 数据备份;12.1.1 使用mysqldump命令备份;【例12-1】 下面使用root用户备份test数据库下的order表。命令如下: mysqldump –u root -p test order D:\order.sql 在DOS命令窗口中执行上面的命令时,将提示输入连接数据库的密码,输入密码后将完成数据备份,这时可以在D:\找到student.sql文件。order.sql文件中的部分内容如下: 图12-1 备份一个数据库 文件开头记录了MySQL的版本、备份的主机名和数据库名。文件中,以“--”开头的都是SQL语言的注释。以“/*!40101”等形式开头的内容是只有MySQL版本大于或等于指定的版4.1.1才执行的语句。下面的“/*!40103”、 “/*!40014”也是这个作用。 注意:上面student.sql文件中没有创建数据库的语句,因此,student.sql文件中的所有表和记录必须还原到一个已经存在的数据库中。还原数据时,CREATE TABLE语句会在数据库中创建表,然后执行INSERT语句向表中插入记录。; MySQL有一种最简单的备份方法,就是将MySQL中的数据库文件直接复制出来。这种方法最简单,速度也最快。使用这种方法时,最好将服务器先停止。这样,可以保证在复制期间数据库中的数据不会发生变化。如果在复制数据库的过程中还有数据写入,就会造成数据不一致。 这种方法虽然简单快捷,但不是最好的备份方法。因为,实际情况可能不允许停止MySQL服务器。而且,这种方法对INNODB存储引擎的表不适用。对于MyISAM存储引擎的表,这样备份和还原很方便。但是还原时最好是相同版本的MySQL数据库,否则可能会存储文件类型不同的情况。 说明: 在MySQL的版本号中,第一个数字表示主版本号。主版本号相同的MySQL数据库的文件类型会相同。例如,MySQL5.1.39和MySQL5.1.40这两个版本的主版本号都是5.那么这两个数据库的数据文件拥有相同的文件格式。; 如果备份时不能停止MySQL服务器,可以采用mysqlhotcopy工具。mysqlhotcopy工具的备份方式比mysqldump命令快。下面为读者介绍mysqlhotcopy工具的工作原理和使用方法。 mysqlhotcopy工具是一个Perl脚本,主要在Linux操作系统下使用。mysqlhotcopy工具使用LOCK TABLES、FLUSH TABLES和cp来进行快速备份。其工作原理是,先将需要备份的数据库加上一个读操作锁,然后,用FLUSH TABLES将内存中的数据写回到硬盘上的数据库中,最后,把需要备份的数据库文件复制到目标目录。使用mysqlhotcopy的命令如下: [root@localhost ~]#mysqlhotcopy[option] dbname1 dbname2…backupDir/ 其中,dbname1等表示需要备份的数据库的名称;backupDir参数指出备份到哪个文件夹下。这个命令的含义就是将dbname1、dbname2等数据库备份到backDir目录下。mysqlhotcopy工具有一些常用的选项,这些选项的介绍如下: --help:用来查看mysqlhotcopy的帮助; --allowold:如果备份目录下存在相同的备份文件,将旧的备份文件名加上_old; --keepold:如果备份目录下存在相同的备份文件,不删除旧的备份文件,而是将旧文件更名; --flushlog:本次备份之后,将对数据库的更新记录到日志中; --noindices:只备份数据文件,不备份索引文件; --user=用户名:用来指定用户名,可以用-u代替; --password=密码:用来指定密码,可以用-p代替。使用-p时,密码与-p紧挨着。或者只使用-p,然后用交换的方式输入密码。这与登录数据库时的情况是一样的; --port=端口号:用来指定访问端口,可以用-P代替; --socket=socket文件:用来指定socket文件,可以用-S代替。 注意;mysqlhotcopy工具不是MySQL自带的,需要安装Perl的数据接口包,Perl的数据库接口包可以在MySQL官方网站下载,网址是/downloads/dbi.html。mysqlhotcopy工具的工作原理是讲数据库文件拷贝到目标目录。因此mysqlhotcopy工具只能备份MyISAM类型的表,不能用来备份InnoDB类型的表。;12.2 数据恢复; 通常使用mysqldump命令将数据库的数据备份成一个文本文件。通常这个文件的后缀名是.sql。需要还原时,可以使用mys

文档评论(0)

youngyu0329 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档