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