(一)ClickHouse 中的 `MaterializedMySQL` 数据库引擎的使用方法、设置、特性和限制。

本文简单介绍一下ClickHouse 中的 MaterializedMySQL 数据库引擎的使用方法、设置、特性和限制。以下是具体的内容和步骤:

  1. 介绍和使用说明:

    • MaterializedMySQL 是一个实验性的数据库引擎。
    • 它允许创建一个 ClickHouse 数据库,其中包含了 MySQL 中的所有表和数据。
    • ClickHouse 作为 MySQL 的副本,读取 binlog 并执行 DDL 和 DML 查询。
  2. 创建数据库:

    • 使用 CREATE DATABASE 语句来创建一个 MaterializedMySQL 数据库。
    • 语法示例:CREATE DATABASE [IF NOT EXISTS] db_name ENGINE = MaterializedMySQL('host:port', ['database' | database], 'user', 'password') [SETTINGS ...] [TABLE OVERRIDE table1 (...), TABLE OVERRIDE table2 (...)]
  3. 引擎参数和设置:

    • 包括 MySQL 服务器端点、数据库名称、用户和密码。
    • 引擎设置包括缓存行数、缓存字节数、数据缓存时间等。
  4. MySQL 服务器端的设置:

    • default_authentication_plugin 必须设置为 mysql_native_password。
    • gtid_mode 必须开启,并设置 enforce_gtid_consistency = on。
  5. 虚拟列:

    • 在 MaterializedMySQL 中使用 ReplacingMergeTree 表,包含虚拟的 _sign 和 _version 列。
  6. 数据类型支持:

    • 列出了 MySQL 数据类型和相对应的 ClickHouse 数据类型。
  7. 兼容性限制和特定建议:

    • 比如 MySQL 表必须包含主键,枚举字段值的范围限制等。
  8. DDL 查询:

    • MySQL 的 DDL 查询会转换为相应的 ClickHouse DDL 查询。
  9. 数据复制:

    • 描述了如何处理 INSERT、DELETE 和 UPDATE 查询。
  10. 从 MaterializedMySQL 表中选择数据:

    • SELECT 查询的特定要求,比如自动应用 FINAL 修饰符和 _sign=1 的默认条件。
  11. 索引转换:

    • MySQL 的 PRIMARY KEY 和 INDEX 转换为 ClickHouse 表的 ORDER BY 语句。
  12. 表覆盖:

    • 介绍了如何使用表覆盖来自定义 ClickHouse DDL 查询,优化架构。
  13. 使用示例:

    • 提供了在 MySQL 和 ClickHouse 中创建和操作数据库的示例。
  14. 注意事项:

    • 包括如何避免破坏复制、手动操作数据库和表的禁止等。

这个文档为 ClickHouse 用户提供了一个全面的指南,用于理解和使用 MaterializedMySQL 引擎,包括如何设置和操作相关的数据库和表。

相关推荐
KIDULT°2 分钟前
MySQL系列 (1):数据库原理
运维·数据库·mysql·云计算
我不是程序员三三16 分钟前
透明加密软件偶发解密异常排错实录:文件时能打开时乱码
数据库·域智盾
snhna20 分钟前
向量数据库深度实战:从 HNSW 到 pgvector、Milvus 选型与 RAG 落地
数据库·人工智能·python·postgresql·milvus
天行健,君子而铎1 小时前
数据分类分级的范式转换:从规则匹配到场景化高准确率一键部署
网络·数据库·安全
牛战士coding1 小时前
MySQL 读写分离完整链路:主从复制、多数据源与 @DS 路由
数据库·mysql
goehou2 小时前
MCP 查数实战:让 LLM 安全地查数据库(只读账号、SQL 校验、参数漂移)
数据库·ai·llm·教程·mcp·function calling
我不会插花弄玉2 小时前
7.函数【由浅入深-MySQL】
android·数据库·mysql
周小董3 小时前
[1369]Windows上安装PostgreSQL
数据库·windows·postgresql
一只积极向上的小咸鱼5 小时前
第一性原理思考:从拆解问题到用实验检验答案
数据库
这个DBA有点耶5 小时前
时序数据库InfluxDB高基数问题深度拆解:内存索引膨胀机制与OOM完整链路
数据库·架构·dba