现在的位置: 首页 > 综合 > 正文

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

2013年09月01日 ⁄ 综合 ⁄ 共 1307字 ⁄ 字号 评论关闭

我们可以通过mysqldump工具来备份数据库中的各个对象,基本用法是:

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

 

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

  1. -?, --help
  2. -V, --version
  3. -v, --verbose 冗长模式,打印出程序所做的更多的信息。
  4. -h, --host=name 缺省主机是localhost。
  5. -u, --user=name 缺省值是你的Unix登录名。
  6. -p, --password=name 如果你不指定密码,mysqldump使用来自登录终端的口令。
  7. -P, --port=# 与一台主机连接时使用的TCP/IP端口号
  8. -w, --where='where-condition' 只导出被选择了的记录;注意引号是强制的!
  9. -X, --xml Dump a database as well formed XML.
  10. -d, --no-data 不写入表的任何行信息。如果你只想得到一个表的结构的导出,这是很有用!
  11. -S, --socket=name Socket file to use for connection.  默认套接字文件为.../mysqlpath/tmp/mysql.sock
  12. -q, --quick Don't buffer query, dump directly to stdout。使用mysql_use_result()获取它。注意:如果你运行mysqldump没有--quick或--opt选项,mysqldump将在导出结果前装载整个结果集到内存中,如果你正在导出一个大的数据库,这将可能是一个问题。
  13. --protocol=name The protocol of connection (tcp,socket,pipe,memory).
  14. --ignore-table=name
  15. --add-drop-table 在每个create语句之前增加一个drop table语句

 

几个常用实例:

  1. 导出整个数据库
    mysqldump -uroot -p*** db_name > backup.sql(包括数据)
    mysqldump -uroot -p*** -d --add-drop-table db_name > backup.sql(不包括数据)
  2. 导出表结构
    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工具和<符号。

  1. mysql> use db_name
    mysql> source d:/backup.sql
  2. shell> mysql -uroot -p*** db_name < backup.sql
我们经常用mysqldump来制作整个数据库的一个备份,但是它对用来自于一个MySQL数据库的信息充实另外一个MySQL数据库也是有用的:
mysqldump --opt database | mysql --host=remote-host -C database   

抱歉!评论已关闭.