使用客户端连接ClickHouse安全集群
您可以通过创建集群开启加密通道,实现数据加密传输。此章节介绍如何开通ClickHouse安全通道。
使用限制
- 关闭https会给企业服务带来风险。
- 创建集群开启https选项,后续无法关闭。
- 创建集群未开启https选项,后续无法开启。
- 在详情页面开启安全通道后,集群会重启。
- 安全通道和非安全通道同时开启后无法关闭。
打开安全通道
- 登录表格存储服务控制台。
- 控制台左上角选择区域。
- 进入集群管理页面单击右上角的购买集群按钮,进入“购买集群”页面。
- 完成其他配置后,查看安全通道加密按钮是否开启,默认开启。
    
    也可在集群创建成功后在集群详情页打开安全和非安全通道按钮,此时安全通道和非安全通道同时开启。图1 安全通道  
- 配置好参数,单击“立即购买”。
- 进入“规格详情”页面,确认集群规格订单信息,单击“提交”,成功提交集群创建任务,集群创建成功后,进入详情页面查看通道开启状态。
下载证书
- 集群创建成功后,进入集群详情页下载证书,单击集群信息模块“通道状态”最右侧的“下载证书”。
- 使用SSH登录工具,通过弹性IP远程登录到Linux弹性云服务器。
    
    具体登录操作步骤请参见《弹性云服务器用户指南》中的“ SSH密码方式登录”。 
- 配置证书。
    
    自定义证书路径,修改以下配置文件的证书存放路径,保存后将配置文件放在root路径下。<config> <secure>true</secure> <openSSL> <client> <caConfig>/etc/ssl/certificate.crt</caConfig> </client> </openSSL> </config>- <caConfig>/etc/ssl/certificate.crt</caConfig>指存放证书的路径。
- root指的是配置文件的存放路径。
- 证书下载限流,一分钟只能下载一次。
 
使用ClickHouse客户端连接集群
- 证书配置成功后,下载客户端。登录表格存储服务管理控制台,在左侧导航树单击“帮助”,然后在页面右侧单击“客户端下载”和“客户端校验文件”,下载客户端安装包和客户端校验文件。
- 安装客户端。
    
    - 使用SSH登录工具,通过弹性IP远程登录到Linux弹性云服务器。
      具体登录操作步骤请参见《弹性云服务器用户指南》中的“ SSH密码方式登录”。 
- 进入SSH工具的根目录。
      cd / 
- 在根目录中新建一个文件夹。
      mkdir 文件夹名 
- 进入新建的目录中。
      cd /文件夹名/ 
- 将客户端放在新建的目录下。
- 解压客户端。
      tar -zxf 客户端包名 
- 解压“客户端校验文件”,与客户端解压在同一个目录下。
      - 解压“客户端校验文件”。
        cd <客户端校验文件存放路径> tar -xzvf Client_sha256.tar.gz 
- 获取客户端校验码。
        sha256sum ClickHouse_Client_23.3.tar.gz 
- 查看客户端校验文件中的校验码,并与客户端校验码进行对比。如果对比结果一致,代表客户端未被篡改,如果对比结果不一致,则代表客户端篡改。
        less ClickHouse_Client_23.3.tar.gz.sha256 
 
- 解压“客户端校验文件”。
        
- 进入clickhouse文件夹加载so。
      sh install.sh 
- 进入bin目录,加权限。
      cd bin/ 加权限。 chmod 700 clickhouse 
 
- 使用SSH登录工具,通过弹性IP远程登录到Linux弹性云服务器。
      
- 连接集群。
    
    ./clickhouse client --host 集群内网地址 --port 9440 --user admin --password password --secure --config-file /root/config.xml 
ClickHouse入门使用
- 创建数据库。
    create database demo; 
- 使用数据库。
    use demo; 
- 查看当前使用数据库。
    select currentDatabase(); 
- 创建数据表。
    create table demo_t(uid Int32,name String,age UInt32,gender String)engine = TinyLog; 
- 查看表结构。
    desc demo_t; 
- 插入数据。
    insert into demo_t values(1,'Candy','23','M'),(2,'cici','33','F'); 
- 查看表。
    select * from demo_t; 
- 查看数据库和表。
    - 查看数据库。
      show databases; 
- 查看表。
      show tables; 
 
- 查看数据库。
      
- 删除数据库和表。
    - 删除表。
      drop table demo_t;   - 删除数据表前,需确认此数据表是否应用中,以免引起不必要的麻烦。
- 删除数据表后可在24小时内恢复,超过24小时无法恢复。恢复命令如下:
          set allow_experimental_undrop_table_query = 1; UNDROP TABLE 数据表名; 
 
- 删除数据库。
      drop database demo; 
 
- 删除表。
      
 
  