导出数据
TDSQL MySQL 版支持通过 mysqldump 导出数据,导出前须设置 net_write_timeout 参数:
set global net_write_timeout = 28800
,命令行有权限限制,请通过 TDSQL MySQL 版控制台 操作。操作步骤如下:1. 在实例列表中,单击实例 ID 或操作列的管理,进入实例管理页面。
2. 在实例管理页面,选择参数配置页,找到
net_write_timeout
参数进行配置。3. 通过 mysqldump 导出数据。
mysqldump --compact --single-transaction --no-create-info -c db_name table_name -utest -h10.xx.xx.34 -P3336 -ptest123
说明:
db 和 table 名参数根据实际情况选择,其中 db 和 table 分别代表库名和表名,如果导出的数据要导入到另外一套 TDSQL MySQL 版环境的话,必须加上 -c 选项。
导出账号需拥有
select on *.*
的权限。高版本 mysqldump 导出低版本数据库时,可能发生报错,可设置参数
-column-statistics = 0
,用于解决此类问题。导入数据
TDSQL MySQL 版提供专门的导入数据工具,完成 load data outfile 对应数据的导入,该工具的原理是把源文件按照 shardkey 的路由规则,切分成多个文件,然后把每个单独透传到对应的后端数据库。
[tdengine@TENCENT64 ~/]$./load_dataformat:./load_data mode0/mode1 proxy_host proxy_port user password db_table shardkey_index file field_terminate filed_enclosedexample:./load_data mode1 10.xx.xx.10 3336 test test123 shard.table 1 '/tmp/datafile' ' ' ''
注意:
源文件必须以 '\\n' 作为换行符。
mode0 只切分源文件,不做数据导入,一般用于调试,正式导入数据使用 mode1。
shardkey_index 从0开始,如果 shardkey 在第2个字段,则 shardkey_index 为1。