clickhouse数据的手动迁移实践

前言

数据在内网,需要复制一份到外网做测试,所以只能想办法手工弄一份出来。

1. 内网的表复制

因为内网的表经常使用,为避免不必要的麻烦,先把这个表复制一份。首先创建同样结构的表 t2,然后开始复制数据

insert into t2 select * from  remote('ip','原表t1','用户名','密码');
optimize table t1;

然后可以等一会,让它合并完再做下一步操作, 有时候没那么快。

接下来到去数据目录
/var/lib/clickhouse/data/default/t2
提取所有的目录,但不包括detached和format_version.txt。

2. 安装数据

这样拿到数据后,就要开始在本地安装数据了。首先也创建同样结构的表 t2,然后去数据目录

/var/lib/clickhouse/data/default/t2

我的版本是21.3,这个路径只是一个链接,它实际指向的是

/var/lib/clickhouse/store/c9d/c9dc5321-7d1b-4ff7-8ef6-699d0b3663dd 

这个目录,那么就把数据复制到这里,就结束了。

然后需要重启clickhouse server

systemctl stop clickhouse-server
systemctl start clickhouse-server

再次登陆上去看,就有数据了。

附解压缩命令

压缩:
tar -zcvf 文件名 压缩路径 

解压:
tar -zxvf 文件名.gz
tar -xf all.tar

版权声明:本文为weixin_45941587原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。