通过cpimport传输迁移:
官方文档:https://mariadb.com/kb/en/lib...
步骤:
1.导出库中表的表结构,不要数据
# mysqldump -h 127.0.0.1 -uroot -p -P 4066 --skip-lock-tables test -d > test.sql
2.nc将文件传输至目标机器192.168.16.29
接收方:nc -l 192.168.16.29 1234 > test.sql
发送方:nc 192.168.16.29 1234 < test.sql
3.将test.sql文件导入到192.168.16.29的columnstore库中
4.使用cpimport导入数据
在192.168.16.29上面执行:
官方命令为: # mcsmysql -q -e 'select * from source_table;' -N <source-db> | /usr/local/mariadb/columnstore/cpimport -s '\t' <target-db> <target-table>
具体为:(在目标机器10.65.16.29机器上执行)
# mcsmysql -h 192.168.16.14 -uroot -p -P 4066 -q -e 'select * from new_users;' -N 'test' | cpimport -s '\t' -n 1 'test' 'new_users'
说明:
-N 删除非数据格式。
-q 告诉mysql客户端不要缓存结果,这会避免可能的超时导致负载失败
cpimport语法说明:
-n NullOption(0-将字符串NULL视为数据(默认); 1 .将字符串NULL视为空值)
-s 'c'是列值之间的分隔符
-m 模式(默认为1)1 - 行将以分布式的方式跨PMs加载。2 - PM基于输入文件加载到各自的PM。3 - 输入文件将加载到本地PM。