Chinaunix首页 | 论坛 | 博客
  • 博客访问: 18680897
  • 博文数量: 7460
  • 博客积分: 10434
  • 博客等级: 上将
  • 技术积分: 78178
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-02 22:54
文章分类

全部博文(7460)

文章存档

2011年(1)

2009年(669)

2008年(6790)

分类: Mysql/postgreSQL

2008-04-20 17:27:00

使用mysqldump:(mysqldump命令位于mysql/bin/目录中)

mysqldump工具很多方面类似相反作用的工具mysqlimport。它们有一些同样的选项。但mysqldump能够做更多的事情。它可以把整个装载到一个单独的文本中。这个文件包含有所有重建您的数据库所需要的SQL命令。这个命令取得所有的模式(Schema,后面有解释)并且将其转换成DDL语法(CREATE语句,即数据库定义语句),取得所有的数据,并且从这些数据中创建INSERT语句。这个工具将您的数据库中所有的设计倒转。因为所有的东西都被包含到了一个文本文件中。这个文本文件可以用一个简单的批处理和一个合适SQL语句导回到中。这个工具令人难以置信地简单而快速。决不会有半点让人头疼地地方。

因此,如果您像装载整个数据库Meet_A_Geek的内容到一个文件中,可以使用下面的命令:

bin/mysqldump –p Meet_A_Geek > MeetAGeek_Dump_File.txt

这个语句也允许您指定一个表进行dump(备份/导出/装载?)。如果您只是希望把数据库Meet_A_Geek中的表Orders中的整个内容导出到一个文件,可以使用下面的命令:

bin/mysqldump –p Meet_A_Geek Orders >MeetAGeek_Orders.txt

这个非常的灵活,您甚至可以使用WHERE从句来选择您需要的记录导出到文件中。要达到这样的目的,可以使用类似于下面的命令:

bin/mysqldump –p –where=”Order_ID > 2000″ Meet_A_Geek Orders > Special_Dump.txt

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语句。

阅读(2026) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~