表格存储服务 CLOUDTABLE-ClickHouse访问RDS MySQL服务:ClickHouse通过MySQL引擎对接RDS服务

时间:2024-11-26 16:25:08

ClickHouse通过MySQL引擎对接RDS服务

MySQL引擎用于将远程的MySQL服务器中的表映射到ClickHouse中,并允许您对表进行INSERT和SELECT查询,以方便您在ClickHouse与MySQL之间进行数据交换。

  • MySQL引擎使用语法:
    CREATE DATABASE [IF NOT EXISTS] db_name [ON CLUSTER cluster]
    ENGINE = MySQL('host:port', ['database' | database], 'user', 'password')
    表1 MySQL数据库引擎参数说明

    参数

    描述

    hostport

    RDS服务MySQL数据库实例IP地址和端口。

    database

    RDS服务MySQL数据库名。

    user

    RDS服务MySQL数据库用户名。

    password

    RDS服务MySQL数据库用户密码。

    MySQL引擎使用示例:

    1. 连接到RDS服务的MySQL数据库。详细操作可以参考RDS服务MySQ L实例 连接。
    2. 在MySQL数据库上创建表,并插入数据。
    3. 使用客户端命令连接ClickHouse。
      非安全集群连接命令
      ./clickhouse client --host 集群内网地址   --port 端口 --user admin --password password

      安全集群连接命令,详细操作请参见ClickHouse安全通道章节。

      ./clickhouse client --host 集群内网地址   --port 端口 --user admin --password password --secure --config-file /root/config.xml

      集群内网地址:集群详情页面中集群访问地址,这里替换成您自己购买的集群的访问地址。

    4. 在ClickHouse中创建MySQL引擎的数据库,创建成功后自动与MySQL服务器交换数据。
      CREATE DATABASE mysql_db ENGINE = MySQL('RDS服务MySQL数据库实例IP地址:MySQL数据库实例端口', 'MySQL数据库名', 'MySQL数据库用户名', 'MySQL数据库用户名密码');
    5. 切换到新建的数据库mysql_db,并查询表数据。
      USE mysql_db;

      在ClickHouse中查询MySQL数据库表数据。

      SELECT * FROM mysql_table;
      ┌─int_id─┬─float─┐
      │      1   │     2   │
      └─────┴──── ┘

      新增插入数据后也可以正常进行查询。

      INSERT INTO mysql_table VALUES (3,4);
      SELECT * FROM mysql_table;
      ┌─int_id─┬─float─┐
      │      1   │       2 │
      │      3   │       4 │
      └─────┴──── ┘
support.huaweicloud.com/devg-cloudtable/cloudtable_01_0334.html