mysqldump数据备份与还原详细介绍

我们先来了解一下这个mysqldump的用法

mysqldump工具有大量的选项,部分选项如下表:

  选项/Option 作用/Action Performed

  --add-drop-table

  这个选项将会在每一个表的前面加上DROP TABLE IF EXISTS语句,这样可以保证导回MySQL数据库的时候不会出错,因为每次导回的时候,都会首先检查表是否存在,存在就删除

  --add-locks

  这个选项会在INSERT语句中捆上一个LOCK TABLE和UNLOCK TABLE语句。这就防止在这些记录被再次导入数据库时其他用户对表进行的操作
  
  -c or - complete_insert

  这个选项使得mysqldump命令给每一个产生INSERT语句加上列(field)的名字。当把数据导出导另外一个数据库时这个选项很有用。

  --delayed-insert 在INSERT命令中加入DELAY选项

  -F or -flush-logs 使用这个选项,在执行导出之前将会刷新MySQL服务器的log.

  -f or -force 使用这个选项,即使有错误发生,仍然继续导出

  --full 这个选项把附加信息也加到CREATE TABLE的语句中

  -l or -lock-tables 使用这个选项,导出表的时候服务器将会给表加锁。

  -t or -no-create- info

  这个选项使的mysqldump命令不创建CREATE TABLE语句,这个选项在您只需要数据而不需要DDL(数据库定义语句)时很方便。
  
  -d or -no-data 这个选项使的mysqldump命令不创建INSERT语句。

在您只需要DDL语句时,可以使用这个选项。

  --opt 此选项将打开所有会提高文件导出速度和创造一个可以更快导入的文件的选项。

  -q or -quick 这个选项使得MySQL不会把整个导出的内容读入内存再执行导出,而是在读到的时候就写入导文件中。

  -T path or -tab = path 这个选项将会创建两个文件,一个文件包含DDL语句或者表创建语句,另一个文件包含数据。DDL文件被命名为table_name.sql,数据文件被命名为table_name.txt.路径名是存放这两个文件的目录。目录必须已经存在,并且命令的使用者有对文件的特权。
  
  -w "WHERE Clause" or -where = "Where clause "

  如前面所讲的,您可以使用这一选项来过筛选将要放到 导出文件的数据。
  
  假定您需要为一个表单中要用到的帐号建立一个文件,经理要看今年(2004年)所有的订单(Orders),它们并不对DDL感兴趣,并且需要文件有逗号分隔,因为这样就很容易导入到Excel中。 为了完成这个人物,您可以使用下面的句子:

  bin/mysqldump –p –where "Order_Date >='2000-01-01'"
  –tab = /home/mark –no-create-info –fields-terminated-by=, Meet_A_Geek Orders

  这将会得到您想要的结果。
  
  schema:模式

  The set of statements, expressed in data definition language, that completely describe the structure of a data base.

  一组以数据定义语言来表达的语句集,该语句集完整地描述了数据库的结构。
  
  SELECT INTO OUTFILE :

  如果您觉得mysqldump工具不够酷,就使用SELECT INTO OUTFILE吧, MySQL同样提供一个跟LOAD DATA INFILE命令有相反作用的命令,这就是SELECT INTO OUTFILE 命令,这两个命令有很多的相似之处。首先,它们有所有的选项几乎相同。现在您需要完成前面用mysqldump完成的功能

好了下面详细的来介绍一下关于mysqldump数据备份与还原吧
备份MySQL数据库的命令

 代码如下 复制代码
mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql

备份MySQL数据库为带删除表的格式
备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。

 代码如下 复制代码
mysqldump -–add-drop-table -uusername -ppassword databasename > backupfile.sql

直接将MySQL数据库压缩备份

 代码如下 复制代码
mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz

备份MySQL数据库某个(些)表

 代码如下 复制代码
mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > backupfile.sql

同时备份多个MySQL数据库

 代码如下 复制代码
mysqldump -hhostname -uusername -ppassword –databases databasename1 databasename2 databasename3 > multibackupfile.sql

仅仅备份数据库结构

 代码如下 复制代码
mysqldump –no-data –databases databasename1 databasename2 databasename3 > structurebackupfile.sql

备份服务器上所有数据库

 代码如下 复制代码
mysqldump –all-databases > allbackupfile.sql

还原MySQL数据库的命令

 代码如下 复制代码
mysql -hhostname -uusername -ppassword databasename < backupfile.sql

还原压缩的MySQL数据库

 代码如下 复制代码
gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename

将数据库转移到新服务器

 代码如下 复制代码
mysqldump -uusername -ppassword databasename | mysql –host=*.*.*.* -C databasename

你可能感觉的文件

http://www.111cn.net/database/mysql/40556.htm

时间: 2024-09-20 06:13:57

mysqldump数据备份与还原详细介绍的相关文章

MySQL笔记之数据备份与还原的使用详解_Mysql

数据很重要,这点用脚趾头想都知道,为了保证数据的安全,因此需要定期对数据备份 下面来写一点关于数据备份与还原相关的笔记   数据备份 使用mysqldump命令备份一个数据库 其中,dbname表示数据库名称,table1和table2表示表的名称,没有该参数则备份整个数据库 BackupName.sql参数表示备份文件的名称,文件名前面可以加上一个绝对路径 需要注意的是,备份的时候只备份数据库中的表,如果要还原则必须还原在已有数据库中 tips:通常情况下备份文件的后缀名为.sql,当然也可以

mysqldump,source数据备份与还原方法

还原一个数据库:  代码如下 复制代码 mysql -h localhost -u root -p123456 www 备份一个数据库:  代码如下 复制代码 mysqldump -h localhost -u root -p123456 www > d:/www2008-2-26.sql 本地: 1.进入MySQL目录下的bin文件夹:e:回车: e:>cd mysqlbin  回车 2.导出数据库:mysqldump -u 用户名 -p 数据库名 > 导出的文件名  代码如下 复制代

SQL Server 备份和还原详细攻略

  一.知识点 完全备份:备份全部选中的文件夹,并不依赖文件的存档属性来确定备份那些文件.(在备份过程中,任何现有的标记都被清除,每个文件都被标记为已备份,换言之,清除存档属性).完全备份也叫完整备份. 差异备份:差异备份是针对完全备份:备份上一次的完全备份后发生变化的所有文件.(差异备份过程中,只备份有标记的那些选中的文件和文件夹.它不清除标记,即:备份后不标记为已备份文件,换言之,不清除存档属性). 增量备份:增量备份是针对于上一次备份(无论是哪种备份):备份上一次备份后,所有发生变化的文件

.Net下的数据备份和还原

数据库:SQL Server  :引用SQLDMO ◆数据备份 : /// <summary>  /// 备份数据库  /// </summary>  private void btnBackUp_Click(object sender, System.EventArgs e)  {   this.Cursor = Cursors.WaitCursor;   this.label1.Text = "  正在进行档案库的数据备份,这可能需要几秒到几十的时间,请稍候...&q

CAXA图文档数据备份及还原

  文档数据管理方式 图纸上传到图文档后,系统通过网线将保存到服务器中,并将其加密为"file_流水码.dat"的文件.这些文件只能通过登陆图文档系统进行浏览.编辑等. 1.文件上传到图文档后,会存放在服务器的"vaultcheckedin"文件夹下; 2.将图文档中的文件出库编辑,系统会从服务器拷贝一份到本地一个隐藏文件夹下; 3.文件发布后,系统会将其移动到"vaultRelease"文件夹下; 4.文件归档后,系统会将其移动到"v

Windows XP迁移助手,数据备份与还原不再难

2014年4月8日,微软即将停止对Windows XP的服务支持.根据第三方数据显示,目前国内至少有2亿用户仍然在使用http://www.aliyun.com/zixun/aggregation/19803.html">XP系统.面对这么多XP用户,360推出国内首个"XP迁移助手"工具,帮助大家在系统重装或升级过程中便捷备份和还原数据,自动筛选,一键操作,让电脑升级系统安全更省心! 以下是Windows XP迁移助手抢先版本的下载链接,请到该地址进行下载: Wind

[bmgr]android应用数据备份以及还原

bmgr是一个shell工具你可以用来与备份管理器在Android设备(支持API级别8或更高).它提供了命令来指导的备份和恢复操作,这样你不需要反复清除数据或采取类似的侵入性的步骤来测试您的应用程序的备份代理.这些命令是通过adb shell.  使用备份操作 通常,应用程序必须通知备份管理器在它的数据已经改变.通过dataChanged().备份管理器将调用您的备份代理的onBackup()实现在未来某个时刻.如果调用dataChanged(),可以调用一个备份请求从命令行运行bmgr备份命

Mysql数据备份以及还原

简单的例子:进入到sql安装目录 执行mysqldump -u root -p mydb >1111.sql 意思是导出用户名为root需要密码的一个数据库名叫mydb的数据库里的所有数据以及表结构到1111.sql文件中  还原数据库,在当前目录下 在执行例如: C:\Program Files\MySQL\bin>mysql -u root -p mydb< c:/1111.sql  Enter password: **** 意思是导入用户名为root需要面目的一个数据名叫mydb的

mysqldump数据库备份与还原方法

mysql备份:  代码如下 复制代码 mysqldump   -uroot -proot  bookmark > bm.bak mysqldump   -u用户名 -p密码  数据库名> 导出的文件的绝对路径 如果运行mysqldump没有–quick或–opt选项,mysqldump在转储结果前将整个结果集装入内存.如果转储大数据库可能会出现问题.该选项默认启用,但可以用–skip-opt禁用. 使用–skip-opt 将每条数据分开导出,不会一次insert 后面values一大串  代