Clickhouse新特性之MaterializeMySQL 数据库引擎

Clickhouse 20.8.2.3版本新增加了一个叫MaterializeMySQL的 数据库引擎,该引擎用于快速同步mysql 数据库(必须是5.7以上版本),话不多说,赶快上车吧

  • 安装并运行clickhouse(ps:使用docker 安装最方便)

  • 用客户端登录,输入 "clickhouse-client"即进入客户端界面 。由于MaterializeMySQL目前只是实验版本,所以需要在客户端打开MaterializeMySQL 这个功能 : SET allow_experimental_database_materialize_mysql = 1

    若是上面这样,便设置成功

  • clickhouse 是借助mysql的gtid 进行同步的,所以需要提前打开mysql的gtid_mode哦。mysql5.7以前打开gtid_mode 需要重启数据库,但是5.7以后就可以热更改了。
    具体设置可以参考我要配置mysql主从 执行 show global variables like '%gtid_%';

    可以看到gtid_mode是开启的,这个时候要重启CK

  • 接下来就可以同步数据库拉,继续输入:CREATE DATABASE db_name ENGINE = MaterializeMySQL('host.docker.internal:3306','yourmysqldb','root','yourpassword');
    ps:
    db_name:你想要在ck里面创建的数据库名字,一般和mysql的数据库名对应
    host.docker.internal:docker 容器访问宿主机的localhost 即 127.0.0.1
    yourmysqldb:你想要同步的mysql 数据库
    root:登陆mysql的用户
    yourpassword:登陆mysql的数据库密码

  • 如果显示OK表示同步OK啦,和mysql一样可以查看通过过来的数据,show databases,use yourdatabase,select ...一顿操作猛如虎,一看战绩0-5(*如果同步的表没有创建主键,ck就会报DB:Exception,这很坑爹)

  • 最后CK 在国内用得比较少,本人正在踩坑中。。。未完,待续。。。

posted @   AGopher  阅读(2544)  评论(3编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示