
# 使用客户端连接ClickHouse普通集群
用户在弹性云服务器里可以通过[手动安装客户端]的方法，使用SQL访问集群。
![](https://support.huaweicloud.com/usermanual-cloudtable/public_sys-resources/note_3.0-zh-cn.png)
创建集群的虚拟私有云、安全组需要和公网ECS保持一致，否则客户端无法访问集群。
 #### ClickHouse手动安装客户端
1. 准备Linux弹性云服务器，具体操作请见[准备弹性云服务器](https://support.huaweicloud.com/usermanual-cloudtable/cloudtable_01_0306.html)章节。
2. 下载客户端。登录[表格存储服务控制台](https://console.huaweicloud.com/cloudtable)，在左侧导航树单击"帮助"，然后在页面右侧单击"客户端下载"和"客户端校验文件"，下载客户端安装包和客户端校验文件。
3. 安装客户端。 
   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
      ```
      
   
   
   
   
4. 客户端安装后，执行以下命令连接ClickHouse集群，端口请参见[表1]。
   
   ```
   ./clickhouse client --host 集群内网地址   --port 9000 --user admin --password password
   ```
   - 集群内网地址：集群详情页面中集群访问地址，这里替换成您自己购买的集群的访问地址。
   
   - password为您购买集群时设置的密码，如果有特殊符号，特殊符号前面需要\\进行转义，如果密码整体用单引号括起来，则特殊字符不需要转义。
   
   
    表1自定义安全组规则 
   | 方向  | 策略 | 协议端口/范围 | 类型        | 目的/源地址                         | 用途                    |
   |:---|:---|:---|:---|:---|:---|
   | 出方向 | 允许 | 全部      | IPv4/IPv6 | 0.0.0.0/0                      | 出方向放行。                |
   | 入方向 | 允许 | 8123    | IPv4/IPv6 | CloudTable ClickHouse集群所在的安全组。 | ClickHouse的Http协议端口。  |
   | 入方向 | 允许 | 9000    | IPv4/IPv6 | CloudTable ClickHouse集群所在的安全组。 | ClickHouse的TCP协议端口。   |
   | 入方向 | 允许 | 8443    | IPv4/IPv6 | CloudTable ClickHouse集群所在的安全组。 | ClickHouse的Https协议端口。 |
   | 入方向 | 允许 | 9440    | IPv4/IPv6 | CloudTable ClickHouse集群所在的安全组。 | ClickHouse的安全TCP安全端口。 |
      
   
   
 
 #### 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;
     ```
     
    
 
