背景: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
找到箭头所指这一块,可能会在注视中,要放开注释,填入密码,修改后要重启哦
a.修改clickhouse配置
点击查看代码
vi /etc/clickhouse-server/users.xml
在下图红框位置添加如下配置
<allow_experimental_database_materialized_mysql>1</allow_experimental_database_materialized_mysql>