Linux在线安装clickhouse,与简单使用:
1.检查curl,未安装则安装yum install -y curl
2.安装clickhouse repositories:
curl -s https://packagecloud.io/install/repositories/altinity/clickhouse/script.rpm.sh |bash
3.查询clickhouse包:yum list 'clickhouse*'
4.安装:yum install -y 'clickhouse*'
可能报错
错误:软件包:clickhouse-test-20.8.3.18-1.el7.x86_64 (Altinity_clickhouse)
需要:perl(JSON::XS)
您可以尝试添加 --skip-broken 选项来解决该问题
您可以尝试执行:rpm -Va --nofiles --nodigest
该test包即使不安装也可使用,根据提示跳过该包:
yum install -y 'clickhouse*' --skip-broken clickhouse-test.x86_64
5.安装完成,启动:service clickhouse-server start
停止:service clickhouse-server stop
6.本地链接:clickhouse-client
默认无密码,连接后可使用mysql等数据库的一些命令
7.使用DBeaver连接
直接连接提示connection time out,需要开启远程连接
编辑vim /etc/clickhouse-server/config.xml
打开注释<listen_host>::</listen_host>,重启
默认用户名default,没有密码,默认端口8123
建库:CREATE database test;
建表:字段类型、引擎等有差异
CREATE TABLE test.test (
id UInt64,
name String,
age UInt64,
version UInt64,
content String
) ENGINE = MergeTree()
ORDER BY id;
插入:insert into test.test (`name`,`age`,`version`,`content`) values('aaa',20,1,'bbb');
8.添加密码
编辑vim /etc/clickhouse-server/users.xml
在<password></password>中添加密码即可
9.使用:mybatis连接clickhouse
需要的驱动
<dependency>
<groupId>ru.yandex.clickhouse</groupId>
<artifactId>clickhouse-jdbc</artifactId>
<version>0.2.6</version>
</dependency>
driver和url格式不同,其他的操作和mysql一样
<property name="driver" value="ru.yandex.clickhouse.ClickHouseDriver"/>
<property name="url" value="jdbc:clickhouse://192.168.229.200:8123/test"/>
<property name="username" value="default"/>
<property name="password" value=""/>
10.其它
insert报错:java.sql.SQLFeatureNotSupportedException
可能原因:insert时自增主键预处理报错,需要将useGeneratedKeys设置为false
整体使用和mysql等数据库差异不大,细节上有不同,使用过程中慢慢发现