SpringBoot+druid+dynamic+clickhouse+mysql实现读写分离

发布时间 2023-06-15 10:01:08作者: 憨憨青年

背景:clickhouse+mysql实现读写分离
1.配置mysql
2.安装clickhouse
3.使用可视化工具连接clickhouse
4.创建clickhouse的数据库并连接mysql
5.SpringBoot+druid+dynamic配置多数据源实现读写分离

一.背景
由于系统数据量过大,查询条件自定义过多,mysql在查询时响应太慢,所以使用clickhouse作为读数据库,实现读写分离.

二.配置mysql
这里使用mysql8.0及以上,mysql需要配置开始binlog日志,并且修改远程访问的密码加密方式
a.修改mysql的配置文件 vi /etc/my.cnf

# 配置远程访问的密码加密方式
default_authentication_plugin=mysql_native_password
# 设置服务ID
server-id=1
# 开启binlog日志 用来clickhouse读取数据
log-bin=mysql-bin
binlog_format=ROW
gtid-mode=on
enforce-gtid-consistency=1 # 设置为主从强一致性
log-slave-updates=1 # 记录日志

三.安装clickhouse
这里使用rpm安装,步骤为官方文档步骤

sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://packages.clickhouse.com/rpm/clickhouse.repo
sudo yum install -y clickhouse-server clickhouse-client

sudo /etc/init.d/clickhouse-server start

四.使用可视化工具连接clickhouse
官方文档推荐了很多种工具,这里使用DBeaver
第一步 :

第二步 :

填写主机IP地址,端口,数据库可以不填,
用户名默认 : default
用户密码默认是没有的,需要密码可以配置如下 :

编辑clickhouse配置文件
vi /etc/clickhouse-server/users.xml