首页 > 数据库 >clickhouse 同步mysql数据

clickhouse 同步mysql数据

时间:2024-06-06 11:58:14浏览次数:27  
标签:同步 SLAVE 数据库 server replica mysql clickhouse

1、mysql端

1.1、配置mysql启动二进制复制

vim /etc/my.conf

在[mysqld]下添加

[mysqld]
server-id=1
log-bin=mysql-bin
binlog_format=ROW

gtid_mode = ON
enforce_gtid_consistency = ON

default_authentication_plugin=mysql_native_password

 

修改配置需要重启mysql服务

 

1.2、创建SLAVE账户

登录mysql,使用mysql数据库添加replica用户给clickhouse复制数据

>use mysql;

>CREATE USER 'replica'@'%' IDENTIFIED BY '密码';

>ALTER user 'replica'@'%' IDENTIFIED BY '密码' PASSWORD EXPIRE NEVER;(可以不执行)

>ALTER user 'replica'@'%' IDENTIFIED WITH mysql_native_password BY '密码';(可以不执行)

>GRANT REPLICATION SLAVE,REPLICATION CLIENT,RELOAD,SELECT ON *.* TO 'replica'@'%';(GRANT 是全局设置,不能设置单个数据库,一定要写 *.* ,要只给replica复制一个数据库只能去my.conf中设置)

>FLUSH PRIVILEGES;

以上是mysql的配置

 

2、clickhouse端

2.1、设置数据存储目录(只有一个磁盘或者a盘够大的可直接跳过)

创建一个存放数据的目录

mkdir -p /data/clickhouse/tmp

chown -R clickhouse:clickhouse  /data/clickhouse

修改/etc/clickhouse-server/config.xml 文件中的数据目录设置,找到 <path> 和 <tmp_path> 标签,并更改为新的目录路径

<!-- Path to data directory, with trailing slash. --> <path>/app/clickhouse/</path>
<tmp_path>/data/clickhouse/tmp/</tmp_path>

如果默认数据存储的目录下有文件也要一并迁走: mv /var/lib/clickhouse/* /data/clickhouse/

修改配置文件记得重启clickhouse-server服务:/etc/init.d/clickhouse-server restart

2.2、clickhouse连接mysql

登录clickhouse-client

启用 MaterializedMySQL 引擎:SET allow_experimental_database_materialized_mysql = 1;(一次性的?设置过一次重新登录就要重新设置)

2.2.1 同步整个库

CREATE DATABASE 新建的clickhouse数据库名 ENGINE = MaterializedMySQL('mysql的IP:3306', '要同步的mysql数据库名', 'mysql中配置的可以复制数据的SLAVE用户', '数据库密码');

2.2.2 同步一张表

CREATE DATABASE 新建的clickhouse数据库名 ENGINE = MaterializedMySQL('mysql的IP:3306', '要同步的mysql数据库名, 'mysql中配置的可以复制数据的SLAVE用户', '数据库密码') SETTINGS materialized_mysql_tables_list = '单个表名';

3、验证是否成功

还是在clickhouse-client下查看

查看是否创建新的数据库:show datatables;

使用新创建的数据库:use 数据库名;

查看数据库中的表名:SHOW TABLES FROM 数据库名;

查看单张表的数据:select count(*)  from 表名;(使用clickhouse都是千万级别的数据,建议直接查看数据量,否则刷屏容易死机)

 

参考:https://blog.csdn.net/u011197085/article/details/135227736

翻译

搜索

复制

标签:同步,SLAVE,数据库,server,replica,mysql,clickhouse
From: https://www.cnblogs.com/leihongnu/p/18234789

相关文章