前面介绍了clickhouse的几个表引擎,今天介绍一个数据库引擎mysql,它能够做到访问和操作mysql的数据。
官网只介绍了怎么查询、插入数据,我们这里来介绍下它的深层次的原理。

基本介绍
Mysql引擎用于将远程mysql库中的表映射到clickhouse中,并允许clickhouse对表进行select和insert操作,以方便clickhouse和mysql之间进行数据的交换。
Mysql数据库引擎会将对clickhouse的查询,转换为mysql语法并发送到mysql服务器中,因此,你可以执行对应的sql。
无法执行以下操作:rename create table alter
创建clickhouse数据库
1 | CREATE DATABASE [IF NOT EXISTS] db_name [ON CLUSTER cluster] |
引擎参数:
- host:port,mysql服务器的连接参数
- user,mysql的连接用户
- database,连接mysql的数据库
- password,mysql的连接密码
实例
mysql
1 | mysql> use photography; |
clickhouse
1 | 19c0db059cdc :) CREATE DATABASE mysql_db ENGINE = MySQL('xxxxx:3306', 'photography', 'photography', 'password') |
好了,到这里,已经通过clickhouse连接上了mysql数据库了,接下来我们来操作下mysql表吧。
插入数据
1 | 19c0db059cdc :) select * from test; |
更新数据
1 | 19c0db059cdc :) update test set name = 'lisi' where id = 2; |
不支持通过clickhouse更新和删除mysql
总之,mysql数据库引擎,能够通过clickhouse访问mysql数据库,并且对mysql表进行select和insert操作,不能update和delete操作。
另外数据存储在mysql端,clickhouse端只是有对应的元数据表信息与mysql端一一对应。
计算呢?
- where子句在mysql端执行
- limit子句在clickhouse端执行。
Keep reading, Keep writing, Keep coding.
欢迎关注我的微信公众号,比较喜欢分享知识,也喜欢宠物,所以做了这2个公众号:
喜欢宠物的朋友可以关注:【电巴克宠物Pets】
一起学习,一起进步。
