MAPREDUCE服务 MRS-配置ClickHouse对接RDS MySQL数据库:ClickHouse通过MySQL引擎对接RDS服务
ClickHouse通过MySQL引擎对接RDS服务
MySQL引擎用于将远程的MySQL服务器中的表映射到ClickHouse中,并允许您对表进行INSERT和SELECT查询,以方便您在ClickHouse与MySQL之间进行数据交换。
CREATE DATABASE [IF NOT EXISTS] db_name [ON CLUSTER cluster] ENGINE = MySQL('host:port', ['database' | database], 'user', 'password')
MySQL数据库引擎参数说明:
- host:port :RDS服务MySQL数据库实例IP地址和端口。
- database :RDS服务MySQL数据库名。
- user :RDS服务MySQL数据库用户名。
- password:RDS服务MySQL数据库用户密码,命令中如果携带认证密码信息可能存在安全风险,在执行命令前建议关闭系统的history命令记录功能,避免信息泄露。
MySQL引擎使用示例:
- 连接到RDS服务的MySQL数据库。详细操作可以参考RDS服务MySQ L实例 连接。
- 在MySQL数据库上创建表,并插入数据。
创建表mysql_table:
CREATE TABLE `mysql_table` (
`int_id` INT NOT NULL AUTO_INCREMENT,
`float` FLOAT NOT NULL,
PRIMARY KEY (`int_id`));
插入表数据:
insert into mysql_table (`int_id`, `float`) VALUES (1,2);
- 登录ClickHouse客户端安装节点。执行以下命令,切换到客户端安装目录。
cd /opt/client
- 执行以下命令配置环境变量。
source bigdata_env
- 如果当前集群已启用Kerberos认证,执行以下命令认证当前用户,当前用户需要具有创建ClickHouse表的权限,具体请参见ClickHouse用户及权限管理章节,为用户绑定对应角色。如果当前集群未启用Kerberos认证,则无需执行本步骤。
- 如果是 MRS 3.1.0版本集群,则需要先执行:export CLICKHOUSE_SECURITY_ENABLED=true
- kinit 组件业务用户
例如,kinit clickhouseuser。
- 使用客户端命令连接ClickHouse。
clickhouse client --host clickhouse实例IP --user 用户名 --password --port 端口号
输入用户密码
- 在ClickHouse中创建MySQL引擎的数据库,创建成功后自动与MySQL服务器交换数据。
CREATE DATABASE mysql_db ENGINE = MySQL('RDS服务MySQL数据库实例IP地址:MySQL数据库实例端口', 'MySQL数据库名', 'MySQL数据库用户名', 'MySQL数据库用户名密码');
- 切换到新建的数据库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 │ └─────┴──── ┘
- MapReduce服务_什么是ClickHouse_如何使用ClickHouse
- MapReduce服务_如何使用MapReduce服务_MRS集群客户端安装与使用
- 云数据库 GaussDB(for MySQL)与RDS for MySQL的区别
- RDS for MySQL数据库实例是什么_创建mysql实例步骤_如何创建RDS for MySQL数据库实例
- MySQL_云数据库RDS for MySQL_华为云
- RDS for MySQL限流_华为云数据库RDS_自治限流_SQL限流
- RDS for MySQL审计日志_开启日志审计_数据库审计_华为云数据库RDS
- 云数据库RDS for MySQL版本升级_MySQL版本_升级数据库版本
- 免费云数据库_免费mysql数据库_rds数据库
- 连接RDS for MySQL数据库_华为云数据库RDS_语法_数据库连接_连接命令