您的位置:首页 > 数据库 > MySQL

mysql工具之一:mysqldump的基本用法

2011-03-22 14:56 429 查看
我们可以通过mysqldump工具来备份数据库中的各个对象,基本用法是:

shell> mysqldump [OPTIONS] database [tables] *如果你不给定任何表,整个数据库将被导出。

mysqldump支持下列选项(分为短选项格式和长选项格式):

-?, --help

-V, --version

-v, --verbose 冗长模式,打印出程序所做的更多的信息。

-h, --host=name 缺省主机是localhost。

-u, --user=name 缺省值是你的Unix登录名。

-p, --password=name 如果你不指定密码,mysqldump使用来自登录终端的口令。

-P, --port=# 与一台主机连接时使用的TCP/IP端口号

-w, --where='where-condition' 只导出被选择了的记录;注意引号是强制的!

-X, --xml Dump a database as well formed XML.

-d, --no-data 不写入表的任何行信息。如果你只想得到一个表的结构的导出,这是很有用!

-S, --socket=name Socket file to use for connection. 默认套接字文件为.../mysqlpath/tmp/mysql.sock

-q, --quick Don't buffer query, dump directly to stdout。使用mysql_use_result()获取它。注意:如果你运行mysqldump没有--quick或--opt选项,mysqldump将在导出结果前装载整个结果集到内存中,如果你正在导出一个大的数据库,这将可能是一个问题。

--protocol=name The protocol of connection (tcp,socket,pipe,memory).

--ignore-table=name

--add-drop-table 在每个create语句之前增加一个drop table语句

几个常用实例:

导出整个数据库
mysqldump -uroot -p*** db_name > backup.sql(包括数据)
mysqldump -uroot -p*** -d --add-drop-table db_name > backup.sql(不包括数据)

导出表结构
mysqldump -uroot -p*** db_name tbl_name >backup.sql
mysqldump -uroot -p*** db_name t1_name t2_name t3_name >backup.sql

根据导出的文件进行导入,我们经常用到source命令或者在shell平台下用mysql工具和<符号。

mysql> use db_name
mysql> source d:/backup.sql

shell> mysql -uroot -p*** db_name < backup.sql

我们经常用mysqldump来制作整个数据库的一个备份,但是它对用来自于一个MySQL数据库的信息充实另外一个MySQL数据库也是有用的:
mysqldump --opt database | mysql --host=remote-host -C database
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: