myloader的参数解析
1.连接相关
-h,--host
主机名或IP。
-P,--port
端口。
-U,--user
用户名。
-p, --password
密码。
-S,--socket
套接字文件地址。
-a,--ask-password
提示输人用户密码。
2.过滤相关
-s,--source-db
指定要导人的数据库,注意只能指定单个库。如果不指定,则默认导人备份目录下的所有库。
-B,--database
将表导入 -B 指定的数据库。
--skip-triggers
不导人触发器。默认导人。
--skip-post
不导人定时器、存储过程和自定义函数。默认导入。
--no-data
不导人数据。
-0, --omit-from-file
忽略文件中指定表的导人。
-T,--tableslist
只导人指定表,表必须是 database.table 的形式。可指定多张表,中间需用逗号隔开。
-x,--regex
基于正则匹配导人指定库表。
--skip-definer
移除CREATE 语句中的DEFINER 子句。
3.导入速度相关
-q, --queries-per-transaction
多久提交一次。默认是 1000 个INSERT 操作。
--innodb-optimize-keys
先导入数据,再添加索引。
--disable-redo-log
通过ALTER INSTANCE DISABLE INNODB REDO_LOG 命令禁用 redo log,这样可加快导人速度
4.其他选项
-d,--directory
备份目录。
-0, --overwrite-tables
导人时,对于已经存在的表,会首先执行 DROP TABLE 操作。
如果不指定该选项,则会直接导人备份数据并提示以下错误
**(myloader:27919): CRITICAL **: 21:23:25.027: Thread 1 issue restoring
//data/backup/mydumper/slowtech.t1-schema.sql: Table 't1' already exists
-e, --enable-binlog
导人时,开启 binlog。默认情况下,会将 SQL_LOG_BIN设置为 0。
导人时,如果对已经存在的表指定了 --overwrite-tables,默认会执行 DROP TABLE 操作。如果要执行其他操作,可通过 --purge-mode 指定,可选值有 NONE、DROP、TRUNCATE、DELETE。--serialized-table-creation
--purge-mode
顺序创建表。在导人的过程中,如果报错 Deadlock found when trying to get lock; try restartintransaction,可指定该选项。
-r,--rOWS
指定一个INSERT操作的行数。
--max-threads-per-table
针对单张表的最大线程数,默认为 4。
-t,--threads
设置导入线程的数量,默认为 4。注意,导人的粒度是文件。
--stream
通过流式备份的文件,在恢复时,需指定 --stream 。