首页 > 数据库 >[clickhouse]同步MySQL

[clickhouse]同步MySQL

时间:2023-01-03 19:22:28浏览次数:69  
标签:同步 materialized MySQL mysqld mysql clickhouse

前言

clickhouse的查询速度非常快,而且兼容大部分MySQL的sql语法,因此一般将clickhouse作为MySQL的读库。
本文提供两种clickhouse同步MySQL的方式

  • clickhouse版本:21.2.4.6
  • MySQL版本:8.0.22

使用MySQL引擎

nil

使用MaterializedMySQL引擎

目前(2022年7月25日)这还只是个实验功能。

配置MySQL

  1. 修改MySQL的配置文件,启用gtid,binlog等
[mysqld]
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
datadir         = /var/lib/mysql
secure-file-priv=
character_set_server = utf8mb4
max_connections=5000
max_user_connections=3000
transaction_isolation=READ-COMMITTED
wait_timeout=300
default-time_zone='+8:00'
server_id=1
expire_logs_days=5
binlog-format=row
# 指定需要同步的数据库
binlog-do-db=testdb
enforce-gtid-consistency=on
log-slave-updates=on
gtid-mode=on
default_authentication_plugin=mysql_native_password
  1. 在MySQL创建用于同步的账号

配置clickhouse

-- 启用MaterializeMySQL引擎的功能
set allow_experimental_database_materialized_mysql = 1;

-- 指定MySQL的IP、端口、数据库、同步用户及其密码,同步用户需要有主从复制的权限
-- 使用materialized_mysql_tables_list指定需要同步的数据表,该参数只有新版(至少v22)才官方支持
CREATE DATABASE testdb1_ch ENGINE = MaterializeMySQL('192.168.0.10:3306', 'testdb1', 'syncuser', 'syncpass') SETTINGS materialized_mysql_tables_list='table1,table2';

配置完成后直接测试即可。

参考

标签:同步,materialized,MySQL,mysqld,mysql,clickhouse
From: https://www.cnblogs.com/XY-Heruo/p/17023164.html

相关文章

  • argocd 同步策略--忽略某个配置同步
    背景当我在k8s中用cronhpa+hpa实现定时pod扩容的同时还能兼容平时的hpa弹性伸缩。cronhpa通过修改hpa的minReplicas与maxReplicas,从而实现pod的伸缩。但是,当hpa......
  • 软件开发入门教程网之MySQL 删除数据库
       ......
  • Mysql主从同步配置
    一、主数据库的配置1.my.cnf(Linux)/my.ini(Windows)在配置文件参数选项[mysqld]下面添加如下内容log_bin=mysql-binserver_id=1innodb_flush_log_at_trx_commit=......
  • mysql函数笔记
    count(*)计数avg()求一列的平均数distinct(q.device_id)对某一列去重,一般与count()连用count(question_id)/count(distinct(q.device_id))if(age>=25,'25岁及以上','25......
  • mysql 查询上月数据PERIOD_DIFF
    select*fromtable1wherePERIOD_DIFF(date_format(now(),'%Y%m'),date_format(fieldname,'%Y%m'))=1说明:查询table1的fieldname为上月的数据。PERIOD_DIFF()函......
  • 在linux上安装mysql(二进制,binary)
    1.去https://dev.mysql.com/downloads/file/?id=514030下载mysql-5.7.40-linux-glibc2.12-x86_64.tar,将它scp到目标机器上。保存到/root/tools/下; 2.执行如下命令,将......
  • 软件开发入门教程网 之MySQL GROUP BY 语句
       ......
  • mysql中查询结果只保留数字函数
    CREATEDEFINER=`root`@`%`FUNCTION`getNum`(strvarchar(255))RETURNSvarchar(255)CHARSETutf8mb4BEGINDECLAREstrlengthINTDEFAULT0;DECLAREtempvarchar......
  • mysql8.0的版本忘记密码
    mysql8.0的版本;出现错误:ERROR1045(28000):Accessdeniedforuser'root'@'localhost'(usingpassword:YES);第一步:关闭netstopmysql这个需要cmd的管理员权......
  • mariadb/mysql建立主从
    前提本方案是两节点主从方案,只要建立好主从,及时数据库挂掉又拉起主从模式不会失效。保证时间同步保证都安装了​​mysql/mariadb​​建立主从的过程这里介绍的是两节点主从......