mysqldump命令导入导出数据库方法与实例汇总

2019-01-04 20:19:51王旭

 --force,-f
 在表转储过程中,即使出现sql错误也继续。
 --host=host_name,-h host_name
 从给定主机的mysql服务器转储数据。默认主机是localhost。
 --hex-blob
 使用十六进制符号转储二进制字符串列(例如,'abc' 变为0x616263)。影响到的列有binary、varbinary、blob。
 --lock-all-tables,-x
 所有数据库中的所有表加锁。在整体转储过程中通过全局读锁定来实现。该选项自动关闭--single-transaction和--lock-tables。
 --lock-tables,-l
 开始转储前锁定所有表。用read local锁定表以允许并行插入myisam表。对于事务表例如innodb和bdb,--single-transaction是一个更好的选项,因为它不根本需要锁定表。
 请注意当转储多个数据库时,--lock-tables分别为每个数据库锁定表。因此,该选项不能保证转储文件中的表在数据库之间的逻辑一致性。不同数据库表的转储状态可以完全不同。
 --master-data[=value]
 该选项将二进制日志的位置和文件名写入到输出中。该选项要求有reload权限,并且必须启用二进制日志。如果该选项值等于1,位置和文件名被写入change master语句形式的转储输出,如果你使用该sql转储主服务器以设置从服务器,从服务器从主服务器二进制日志的正确位置开始。如果选项值等于2,change master语句被写成sql注释。如果value被省略,这是默认动作。
 --master-data选项启用--lock-all-tables,除非还指定--single-transaction(在这种情况下,只在刚开始转储时短时间获得全局读锁定。又见--single-transaction。在任何一种情况下,日志相关动作发生在转储时。该选项自动关闭--lock-tables。
 --no-create-db,-n
 该选项禁用create database /*!32312 if not exists*/ db_name语句,如果给出---database或--all--database选项,则包含到输出中。
 --no-create-info,-t
 不写重新创建每个转储表的create table语句。
 --no-data,-d
 不写表的任何行信息。如果你只想转储表的结构这很有用。
 --opt
 该选项是速记;等同于指定 --add-drop-tables--add-locking --create-option --disable-keys--extended-insert --lock-tables --quick --set-charset。它可以给出很快的转储操作并产生一个可以很快装入mysql服务器的转储文件。该选项默认开启,但可以用--skip-opt禁用。要想只禁用确信用-opt启用的选项,使用--skip形式;例如,--skip-add-drop-tables或--skip-quick。
 --password[=password],-p[password]
 连接服务器时使用的密码。如果你使用短选项形式(-p),不能在选项和密码之间有一个空格。如果在命令行中,忽略了--password或-p选项后面的 密码值,将提示你输入一个。