ndb_import导入csv格式的数据,例如由, mysqldump——选项卡
,直接进入NDB
使用NDB API。ndb_import需要连接到NDB管理服务器(ndb_mgmd)发挥作用;它不需要连接到MySQL服务器。
使用
ndb_importdb_namefile_name选项
ndb_import需要两个参数。db_name
数据库的名称,其中找到要导入数据的表;file_name
是要从中读取数据的CSV文件的名称;如果该文件不在当前目录中,则必须包括该文件的路径。文件的名称必须与表的名称匹配;不考虑文件的扩展名(如果有的话)。支持的选项ndb_import包括用于指定字段分隔符、转义符和行结束符的参数,本节稍后将介绍这些参数。ndb_import必须能够连接到NDB集群管理服务器;因此,必须有一个未使用的(api)
集群槽位号config.ini
文件。
复制使用不同存储引擎的现有表,例如InnoDB
,作为NDB
表,使用mysql客户端执行选择进入输出文件
语句将现有表导出到CSV文件,然后执行创建如下表
语句创建与现有表具有相同结构的新表,然后执行修改表…引擎= NDB
在新桌子上;在此之后,从系统shell调用ndb_import将数据加载到新的NDB
表格例如,一个现有的InnoDB
表命名myinnodb_table
在一个名为myinnodb
可以导出成NDB
表命名myndb_table
在一个名为myndb
如图所示,假设你已经以MySQL用户的身份登录,并拥有相应的权限:
在mysql客户:
mysql>使用myinnodb;mysql> SELECT * INTO OUTFILE '/tmp/myndb_table.csv' > FIELDS TERMINATED BY ','可选封闭BY '"'转义BY '\\' > LINES TERMINATED BY '\n' > FROM myinnodbtable;创建数据库myndb;mysql>使用myndb;mysql> CREATE TABLE myndb_tablemysql> ALTER TABLE myndb_table ENGINE=NDBmysql >退出;再见壳>
一旦创建了目标数据库和表,将运行mysqld不再需要。你可以停止使用mysqladmin关闭如果您愿意,可以在继续之前使用其他方法。
在系统shell中:
如果你还没有在MySQL bin目录下:shell> cdpath-to-mysql-bin-dirShell > ndb_import myndb /tmp/myndb_table.csv——fields-optional - wrapped -by=' ' '\——fields-terminated-by=","——fields- escaping -by='\\'
输出应该类似如下所示:
Job-1导入myndb。myndb_tablefrom /tmp/myndb_table.csv job-1 [running] import myndb.myndb_table from /tmp/myndb_table.csv job-1 [success] import myndb.myndb_table from /tmp/myndb_table.csv job-1 imported 19984 rows in 0h0m9s at 2277 rows/s jobs summary: defined: 1 run: 1 with success: 1 with failure: 0 shell>
可用于的选项ndb_import如下表所示。其他描述见下表。
表21.33 ndb_import程序使用的命令行选项
格式 | 描述 | 添加、弃用或删除 |
---|---|---|
在任何致命错误上转储核心;用于调试 | 新增:NDB 7.6.2 |
|
对于隐藏PK的表,指定autoincrement increment。看到mysqld | 新增:NDB 7.6.2 |
|
对于隐藏PK的表,指定自增偏移量。看到mysqld | 新增:NDB 7.6.2 |
|
对于隐藏PK的表,指定预取的自动递增值的数量。看到mysqld | 新增:NDB 7.6.2 |
|
包含字符集的目录 | 新增:NDB 7.6.2 |
|
在放弃连接之前重试连接的次数 | (所有基于MySQL 5.7的NDB版本均支持) |
|
尝试联系管理服务器之间等待的秒数 | 新增:NDB 7.6.2 |
|
与——ndb-connectstring相同 | 新增:NDB 7.6.2 |
|
要创建的集群连接数 | 新增:NDB 7.6.2 |
|
当作业失败时,继续执行下一个作业 | 新增:NDB 7.6.2 |
|
写入内核文件错误;用于调试 | 新增:NDB 7.6.2 |
|
执行数据库操作的每个数据节点的线程数 | 新增:NDB 7.6.2 |
|
读取全局文件后读取给定文件 | 新增:NDB 7.6.2 |
|
仅从给定文件读取默认选项 | 新增:NDB 7.6.2 |
|
也可以用concat读取组(group,后缀) | 新增:NDB 7.6.2 |
|
错误插入类型,用于测试目的;使用“list”获取所有可能的值 | 新增:NDB 7.6.2 |
|
错误插入延迟(毫秒);添加随机变量 | 新增:NDB 7.6.2 |
|
与LOAD DATA语句的BY选项所包含的字段相同。对于CSV输入,这与使用——fields-optional - encloding -by相同 | 新增:NDB 7.6.2 |
|
与LOAD DATA语句的字段转义BY选项相同 | 新增:NDB 7.6.2 |
|
与LOAD DATA语句的选项可选地包含的字段相同 | 新增:NDB 7.6.2 |
|
与LOAD DATA语句的FIELDS TERMINATED BY选项相同 | 新增:NDB 7.6.2 |
|
|
显示帮助文本并退出 | 新增:NDB 7.6.2 |
等待更多操作的休眠毫秒数 | 新增:NDB 7.6.2 |
|
空转前重试的次数 | 新增:NDB 7.6.2 |
|
忽略输入文件中的第#行。用于跳过非数据标头 | 新增:NDB 7.6.2 |
|
输入类型:随机或csv | 新增:NDB 7.6.2 |
|
处理输入的线程数。如果——input-type is csv | 新增:NDB 7.6.2 |
|
状态文件(非空*除外)。Rej文件)通常在作业完成时删除。使用此选项会保留所有状态文件 | 新增:NDB 7.6.4 |
|
与LOAD DATA语句的行终止选项相同 | 新增:NDB 7.6.2 |
|
从登录文件读取给定路径 | 新增:NDB 7.6.2 |
|
只导入这个数量的输入数据行;默认值为0,将导入所有行 | 新增:NDB 7.6.2 |
|
如果某些事情发生了变化,定期打印正在运行的作业的状态(状态、被拒绝的行、临时错误)。0表示禁用。值1打印所看到的任何更改。较高的值将以指数方式减少状态打印,直到某个预定义的限制 | 新增:NDB 7.6.2 |
|
设置连接ndb_mgmd的连接字符串。语法:“[nodeid = id;][主机=]主机名(港口):”。覆盖NDB_CONNECTSTRING和my.cnf中的条目 | 新增:NDB 7.6.2 |
|
与——ndb-connectstring相同 | 新增:NDB 7.6.2 |
|
为该节点设置节点ID,覆盖由——ndb-connectstring设置的任何ID | 新增:NDB 7.6.2 |
|
为事务的节点选择启用优化。默认启用;使用——skip-ndb-optimized-node-selection禁用 | (所有基于MySQL 5.7的NDB版本均支持) |
|
在单个事务中批量运行数据库操作 | 新增:NDB 7.6.2 |
|
不读取默认选项从任何选项文件除了登录文件 | 新增:NDB 7.6.2 |
|
不要使用分布键提示选择数据节点(TC) | 新增:NDB 7.6.2 |
|
db执行批处理是发送到NDB内核的一组事务和操作。该选项限制了db批执行中的NDB操作(包括blob操作)。因此,它还限制了异步事务的数量。值0无效 | 新增:NDB 7.6.2 |
|
限制执行批处理中的字节数(默认0 =无限制) | 新增:NDB 7.6.2 |
|
输出类型:默认为ndb,测试时为空 | 新增:NDB 7.6.2 |
|
处理输出或中继数据库操作的线程数 | 新增:NDB 7.6.2 |
|
对齐I/O缓冲区到给定的大小 | 新增:NDB 7.6.2 |
|
I/O缓冲区大小为页面大小的倍数。CSV输入工作者分配了一个双倍大小的缓冲区 | 新增:NDB 7.6.2 |
|
完成异步事务的每次轮询超时;轮询将继续进行,直到完成所有轮询或发生错误 | 新增:NDB 7.6.2 |
|
打印程序参数列表并退出 | 新增:NDB 7.6.2 |
|
限制数据加载中被拒绝的行数(具有永久错误的行)。默认值为0,这意味着任何被拒绝的行都会导致致命错误。超过限制的行也被添加到*.rej中 | 新增:NDB 7.6.2 |
|
如果作业中止(临时错误,用户中断),恢复尚未处理的行 | 新增:NDB 7.6.2 |
|
限制行队列中的行数(默认0 =无限制);如果——input-type是随机的,必须为1或更多 | 新增:NDB 7.6.2 |
|
限制行队列中的字节数(0 =无限制) | 新增:NDB 7.6.2 |
|
在哪里写状态文件;当前目录为default | 新增:NDB 7.6.2 |
|
将性能相关选项和内部统计数据保存在“*”中。Sto和*。stt文件。即使没有使用——keep-state,这些文件也会在成功完成时保存 | 新增:NDB 7.6.4 |
|
在临时错误之间休眠的毫秒数 | 新增:NDB 7.6.2 |
|
每个执行批处理由于临时错误导致事务失败的次数;0表示任何临时错误都是致命的。此类错误不会导致任何行被写入.rej文件 | 新增:NDB 7.6.2 |
|
|
显示帮助文本并退出;和——help一样 | 新增:NDB 7.6.2 |
|
启用详细输出 | 新增:NDB 7.6.2 |
|
显示版本信息并退出 | 新增:NDB 7.6.2 |
-
命令行格式 ——abort-on-error
介绍了 5.7.18-ndb-7.6.2 类型 布尔 默认值 假
在任何致命错误上转储核心;仅用于调试。
-
命令行格式 ——ai-increment = #
介绍了 5.7.18-ndb-7.6.2 类型 整数 默认值 1
最小值 1
最大值 4294967295
对于具有隐藏主键的表,指定自递增的increment,如
auto_increment_increment
系统变量在MySQL服务器中。 -
命令行格式 ——ai-offset = #
介绍了 5.7.18-ndb-7.6.2 类型 整数 默认值 1
最小值 1
最大值 4294967295
对于带有隐藏主键的表,指定自增偏移量。类似于
auto_increment_offset
系统变量。 -
命令行格式 ——ai-prefetch-sz = #
介绍了 5.7.18-ndb-7.6.2 类型 整数 默认值 1024
最小值 1
最大值 4294967295
对于具有隐藏主键的表,指定预取的自动递增值的数量。行为类似于
ndb_autoincrement_prefetch_sz
系统变量在MySQL服务器中。 -
命令行格式 ——character-sets-dir =路径
介绍了 5.7.18-ndb-7.6.2 包含字符集的目录。
-
命令行格式 ——connect-retries = #
类型 整数 默认值 12
最小值 0
最大值 12
在放弃连接之前重试连接的次数。
-
命令行格式 ——connect-retry-delay = #
介绍了 5.7.18-ndb-7.6.2 类型 整数 默认值 5
最小值 0
最大值 5
尝试联系管理服务器之间等待的秒数。
-
命令行格式 ——连接= #
介绍了 5.7.18-ndb-7.6.2 类型 整数 默认值 1
最小值 1
最大值 4294967295
要创建的集群连接数。
-
命令行格式 ——连接字符串=连接字符串
介绍了 5.7.18-ndb-7.6.2 类型 字符串 默认值 (没有)
-
命令行格式 ——继续
介绍了 5.7.18-ndb-7.6.2 类型 布尔 默认值 假
当一个作业失败时,继续执行下一个作业。
-
命令行格式 ——核心文件
介绍了 5.7.18-ndb-7.6.2 写入内核文件错误;用于调试。
-
命令行格式 ——db-workers = #
介绍了 5.7.18-ndb-7.6.2 类型 整数 默认值(≥5.7.20-ndb-7.6.4) 4
默认值(≥5.7.18-ndb-7.6.2,≤5.7.18-ndb-7.6.3) 1
最小值 1
最大值 4294967295
执行数据库操作的每个数据节点的线程数。
-
命令行格式 ——defaults-extra-file =路径
介绍了 5.7.18-ndb-7.6.2 类型 字符串 默认值 (没有)
读取全局文件后读取给定文件。
-
命令行格式 ——defaults-file =路径
介绍了 5.7.18-ndb-7.6.2 类型 字符串 默认值 (没有)
仅从给定文件读取默认选项。
-
命令行格式 ——defaults-group-suffix =字符串
介绍了 5.7.18-ndb-7.6.2 类型 字符串 默认值 (没有)
也可以用concat(group,后缀)读取组。
-
命令行格式 ——errins-type =名字
介绍了 5.7.18-ndb-7.6.2 类型 枚举 默认值 (没有)
有效值 stopjob
stopall
sighup
信号情报
列表
错误插入类型;使用
列表
随着名字
值来获取所有可能的值。此选项仅用于测试目的。 -
命令行格式 ——errins-delay = #
介绍了 5.7.18-ndb-7.6.2 类型 整数 默认值 1000
最小值 0
最大值 4294967295
单位 女士
错误插入延迟(毫秒);随机变化被加入。此选项仅用于测试目的。
-
命令行格式 ——fields-enclosed-by =字符
介绍了 5.7.18-ndb-7.6.2 类型 字符串 默认值 (没有)
它的工作方式与
以下字段
选项的作用加载数据
语句,指定将被解释为引用字段值的字符。对于CSV输入,这与——fields-optionally-enclosed-by
. -
命令行格式 ——fields-escaped-by =名字
介绍了 5.7.18-ndb-7.6.2 类型 字符串 默认值 \
的方法指定转义字符
Fields被
选项所做的SQL加载数据
声明。 ——fields-optionally-enclosed-by
=字符
命令行格式 ——fields-optionally-enclosed-by =字符
介绍了 5.7.18-ndb-7.6.2 类型 字符串 默认值 (没有)
它的工作方式与
字段可选由
选项的作用加载数据
语句,指定将被解释为可选引用字段值的字符。对于CSV输入,这与——fields-enclosed-by
.-
命令行格式 ——fields-terminated-by =字符
介绍了 5.7.18-ndb-7.6.2 类型 字符串 默认值 \ t
它的工作方式与
字段以
选项的作用加载数据
语句,指定要用作字段分隔符的字符。 -
命令行格式 ——帮助
介绍了 5.7.18-ndb-7.6.2 显示帮助文本并退出。
-
命令行格式 ——idlesleep = #
介绍了 5.7.18-ndb-7.6.2 类型 整数 默认值 1
最小值 1
最大值 4294967295
单位 女士
等待执行更多工作而休眠的毫秒数。
-
命令行格式 ——idlespin = #
介绍了 5.7.18-ndb-7.6.2 类型 整数 默认值 0
最小值 0
最大值 4294967295
睡觉前重试的次数。
-
命令行格式 ——ignore-lines = #
介绍了 5.7.18-ndb-7.6.2 类型 整数 默认值 0
最小值 0
最大值 4294967295
导致ndb_import忽略第一个
#
输入文件的行数。这可以用来跳过不包含任何数据的文件头。 -
命令行格式 ——输入类型=名字
介绍了 5.7.18-ndb-7.6.2 类型 枚举 默认值 csv
有效值 随机
csv
设置输入类型。默认为
csv
;随机
仅用于测试目的。 -
命令行格式 ——input-workers = #
介绍了 5.7.18-ndb-7.6.2 类型 整数 默认值(≥5.7.20-ndb-7.6.4) 4
默认值(≥5.7.18-ndb-7.6.2,≤5.7.18-ndb-7.6.3) 2
最小值 1
最大值 4294967295
设置处理输入的线程数。
-
命令行格式 ——保守国家
介绍了 5.7.20-ndb-7.6.4 类型 布尔 默认值 假
默认情况下,ndb_import删除所有状态文件(非空文件除外)
* .rej
文件)当它完成一个工作。指定此选项(不需要参数)将强制程序保留所有状态文件。 -
命令行格式 ——lines-terminated-by =名字
介绍了 5.7.18-ndb-7.6.2 类型 字符串 默认值 \ n
它的工作方式与
以
选项的作用加载数据
语句,指定将被解释为行结束符的字符。 -
命令行格式 ——登录路径=路径
介绍了 5.7.18-ndb-7.6.2 类型 字符串 默认值 (没有)
从登录文件读取给定路径。
-
命令行格式 ——进行日志级别= #
类型 整数 默认值 0
最小值 0
最大值 2
在给定级别执行内部日志记录。此选项主要用于内部和开发使用。
仅在NDB的调试版本中,可以使用此选项将日志级别设置为最大4。
-
命令行格式 ——最大行的= #
介绍了 5.7.18-ndb-7.6.2 类型 整数 默认值 0
最小值 0
最大值 4294967295
单位 字节
只导入这个数量的输入数据行;默认值为0,将导入所有行。
-
命令行格式 ——监控= #
介绍了 5.7.18-ndb-7.6.2 类型 整数 默认值 2
最小值 0
最大值 4294967295
单位 字节
如果某些内容发生了更改(状态、拒绝的行、临时错误),则定期打印正在运行的作业的状态。设置为0以禁用此报告。设置为1打印所看到的任何更改。较高的值会降低这种状态报告的频率。
-
命令行格式 ——ndb-connectstring =连接字符串
介绍了 5.7.18-ndb-7.6.2 类型 字符串 默认值 (没有)
设置连接ndb_mgmd的连接字符串。语法:“[nodeid = id;][主机=]主机名(港口):”。覆盖NDB_CONNECTSTRING和my.cnf中的条目。
-
命令行格式 ——ndb-mgmd-host =连接字符串
介绍了 5.7.18-ndb-7.6.2 类型 字符串 默认值 (没有)
-
命令行格式 ——ndb-nodeid = #
介绍了 5.7.18-ndb-7.6.2 类型 整数 默认值 (没有)
为该节点设置节点ID,覆盖由设置的任何ID
——ndb-connectstring
. ——ndb-optimized-node-selection
命令行格式 ——ndb-optimized-node-selection
为事务的节点选择启用优化。默认启用;使用
——skip-ndb-optimized-node-selection
禁用。-
命令行格式 ——no-asynch
介绍了 5.7.18-ndb-7.6.2 类型 布尔 默认值 假
在单个事务中批量运行数据库操作。
-
命令行格式 ——已
介绍了 5.7.18-ndb-7.6.2 不要从除登录文件外的任何选项文件中读取默认选项。
-
命令行格式 ——任何暗示
介绍了 5.7.18-ndb-7.6.2 类型 布尔 默认值 假
不要使用分布键提示来选择数据节点。
-
命令行格式 ——opbatch = #
介绍了 5.7.18-ndb-7.6.2 类型 整数 默认值 256
最小值 1
最大值 4294967295
单位 字节
对每个执行批处理的操作数量(包括blob操作)以及异步事务的数量设置限制。
-
命令行格式 ——opbytes = #
介绍了 5.7.18-ndb-7.6.2 类型 整数 默认值 0
最小值 0
最大值 4294967295
单位 字节
对每个执行批处理设置字节数限制。0表示无限制。
-
命令行格式 ——输出类型=名字
介绍了 5.7.18-ndb-7.6.2 类型 枚举 默认值 ndb
有效值 零
设置输出类型。
ndb
是默认值。零
仅用于测试。 -
命令行格式 ——output-workers = #
介绍了 5.7.18-ndb-7.6.2 类型 整数 默认值 2
最小值 1
最大值 4294967295
设置处理输出或中继数据库操作的线程数。
-
命令行格式 ——页大小= #
介绍了 5.7.18-ndb-7.6.2 类型 整数 默认值 4096
最小值 1
最大值 4294967295
单位 字节
将I/O缓冲区对齐到给定的大小。
-
命令行格式 ——pagecnt = #
介绍了 5.7.18-ndb-7.6.2 类型 整数 默认值 64
最小值 1
最大值 4294967295
将I/O缓冲区的大小设置为页面大小的倍数。CSV输入工作者分配的缓冲区大小是原来的两倍。
-
命令行格式 ——polltimeout = #
介绍了 5.7.18-ndb-7.6.2 类型 整数 默认值 1000
最小值 1
最大值 4294967295
单位 女士
为完成的异步事务设置每次轮询的超时时间;轮询将继续进行,直到完成所有轮询,或者直到出现错误。
-
命令行格式 ——print-defaults
介绍了 5.7.18-ndb-7.6.2 打印程序参数列表并退出。
-
命令行格式 ——拒绝= #
介绍了 5.7.18-ndb-7.6.2 类型 整数 默认值 0
最小值 0
最大值 4294967295
限制数据加载中被拒绝的行数(具有永久错误的行)。默认值为0,这意味着任何被拒绝的行都会导致致命错误。导致超出限制的任何行都将添加到
.rej
文件。此选项施加的限制在当前运行期间有效。使用以下命令重新启动运行
——简历
被认为是”新”为了这个目的而跑步。 -
命令行格式 ——简历
介绍了 5.7.18-ndb-7.6.2 类型 布尔 默认值 假
如果作业中止(由于临时的数据库错误或被用户中断),则恢复尚未处理的任何行。
-
命令行格式 ——rowbatch = #
介绍了 5.7.18-ndb-7.6.2 类型 整数 默认值 0
最小值 0
最大值 4294967295
单位 行
对每个行队列的行数设置限制。0表示无限制。
-
命令行格式 ——rowbytes = #
介绍了 5.7.18-ndb-7.6.2 类型 整数 默认值 262144
最小值 0
最大值 4294967295
单位 字节
对每个行队列的字节数设置限制。0表示无限制。
-
命令行格式 ——统计数据
介绍了 5.7.20-ndb-7.6.4 类型 布尔 默认值 假
将与性能相关的选项信息和其他内部统计信息保存在名为
*名. sto
而且* .stt
.这些文件总是在成功完成时保存(即使——保守国家
也没有指定)。 -
命令行格式 ——state-dir =名字
介绍了 5.7.18-ndb-7.6.2 类型 字符串 默认值 .
在哪里写入状态文件(
,tbl_name
. map
,tbl_name
.rej
,tbl_name
r
)由程序运行产生的;默认为当前目录。tbl_name
.stt -
命令行格式 ——tempdelay = #
介绍了 5.7.18-ndb-7.6.2 类型 整数 默认值 10
最小值 0
最大值 4294967295
单位 女士
在临时错误之间休眠的毫秒数。
-
命令行格式 ——temperrors = #
介绍了 5.7.18-ndb-7.6.2 类型 整数 默认值 0
最小值 0
最大值 4294967295
每个执行批处理中由于临时错误导致事务失败的次数。默认值为0,这意味着任何临时错误都是致命的。临时错误不会导致将任何行添加到
.rej
文件。 -
命令行格式 ——使用
介绍了 5.7.18-ndb-7.6.2 显示帮助文本并退出;一样
——帮助
. -
命令行格式 ——详细
介绍了 5.7.18-ndb-7.6.2 类型(≥5.7.20-ndb-7.6.4) 布尔 类型(≥5.7.18-ndb-7.6.2,≤5.7.18-ndb-7.6.3) 整数 默认值(≥5.7.20-ndb-7.6.4) 假
默认值(≥5.7.18-ndb-7.6.2,≤5.7.18-ndb-7.6.3) 0
最小值 0
最大值 2
NDB 7.6.4及以后版本:开启详细输出。
以前,此选项控制调试消息的内部日志级别。在NDB 7.6.4及以后版本中,使用
——进行日志级别
替代此目的的选项。 -
命令行格式 ——版本
介绍了 5.7.18-ndb-7.6.2 显示版本信息并退出。
与加载数据
,字段和行格式的选项与用于创建CSV文件的选项非常匹配,无论这是否使用选择进入…输出文件
,或通过其他方式。没有对等的加载数据
声明从
选择。
ndb_import新增于NDB 7.6.2。