注释:该选项只适用于mysqldump与mysqld服务器在同一台机器上运行时。你必须具有file权限,并且服务器必须有在你指定的目录中有写文件的许可。
--tables
覆盖---database或-b选项。选项后面的所有参量被看作表名。
--triggers
为每个转储的表转储触发器。该选项默认启用;用--skip-triggers禁用它。
--tz-utc
在转储文件中加入set time_zone='+00:00'以便timestamp列可以在具有不同时区的服务器之间转储和重载。(不使用该选项,timestamp列在具有本地时区的源服务器和目的服务器之间转储和重载)。--tz-utc也可以保护由于夏令时带来的更改。--tz-utc默认启用。要想禁用它,使用--skip-tz-utc。该选项在mysql 5.1.2中加入。
--user=user_name,-u user_name
连接服务器时使用的mysql用户名。
--verbose,-v
冗长模式。打印出程序操作的详细信息。
--version,-v
显示版本信息并退出。
--where='where-condition', -w 'where-condition'
只转储给定的where条件选择的记录。请注意如果条件包含命令解释符专用空格或字符,一定要将条件引用起来。
例如:
"--where=user='jimf'"
"-wuserid>1"
"-wuserid<1"
--xml,-x
将转储输出写成xml。
还可以使用--var_name=value选项设置下面的变量:
max_allowed_packet
客户端/服务器之间通信的缓存区的最大大小。最大为1gb。
net_buffer_length
客户端/服务器之间通信的缓存区的初始大小。当创建多行插入语句时(如同使用选项--extended-insert或--opt),mysqldump创建长度达net_buffer_length的行。如果增加该变量,还应确保在mysql服务器中的net_buffer_length变量至少这么大。
还可以使用--set-variable=var_name=value或-o var_name=value语法设置变量。然而,现在不赞成使用该语法。
mysqldump最常用于备份一个整个的数据库:
shell> mysqldump --opt db_name > backup-file.sql
可以这样将转储文件读回到服务器:
shell> mysql db_name < backup-file.sql
或者为:
shell> mysql -e "source /path-to--backup/backup-file.sql" db_name
mysqldump也可用于从一个mysql服务器向另一个服务器复制数据时装载数据库:
shell> mysqldump --opt db_name | mysql --host=remote_host -c db_name
可以用一个命令转储几个数据库:
shell> mysqldump ---database db_name1 [db_name2 ...] > my_databases.sql
如果想要转储所有数据库,使用--all--database选项:
shell> mysqldump --all-databases > all_databases.sql










