Clickhouse之集群操作

查看集群:

在任意一台机上,使用 /usr/bin/clickhouse-client --host localhost --port 9000 连接本地服务器


select * from `system`.clusters;

 

建库:

建库
create database <数据库名> on cluster <集群名>

在另一台服务器上使用 SHOW DATABASES 查看当前数据库,可以发现数据库已经同步过来了

使用 SHOW CREATE DATABASE <数据库名> 可以看到建库语句 (但这里不是实际的建库语句)

 

建表:

create table test2.test on cluster default(id UInt8, name String, date DateTime) ENGINE =ReplicatedMergeTree('/clickhouse/tables/{shard}/test2/test', '{replica}') partition by toYYYYMM(date) ORDER BY id;

建表后,同样会打印出所有受影响主机信息

注意:只有 DDL 语句需要申明集群,后续插入、查询等语句均不需要

 

插入数据:

INSERT INTO test.test_1s1r (1, 'bob', now())

 

修改数据:

ALTER TABLE test_1s1r UPDATE name = 'unknown' WHERE name = 'bob'

 

添加字段:

ALTER TABLE <数据库>.<表> ADD/MODIFY/DELETE COLUMN <字段> COMMENT <注释内容>

 

删除行:

ALTER TABLE <数据库名>.<表名> DELETE WHERE <筛选条件>

 

删除表:

删除表和创建表一样,必须使用集群的方法。不然,只会删除本机的表,而副本中的表依然存在,这样会造成数据分裂

DROP TABLE <数据库名>.<表名> ON CLUSTER <集群名>

 

posted @ 2022-10-28 10:29  X-Wolf  阅读(1507)  评论(0编辑  收藏  举报