用 mysql 客户端连接 clickhouse
Posted 福州-司马懿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用 mysql 客户端连接 clickhouse相关的知识,希望对你有一定的参考价值。
说明
因为 mysql 被 Oracle 收购了,这里用 mysql 的社区版本,叫 mariadb(本质上是一样的)
- 查看 mysql 版本
mysql --version
- 进入 mysql 命令交互界面
mysql
- 在 mysql 客户端执行,查看服务器版本
SELECT version()
使用mysql --help
可以查看帮助文档
连接命令 -h
待连接的主机名或IP-u
如果不是当前用户,需要输入用户名-P
如果不是mysql的默认端口(3306),需要手动输入-p
要求输入密码
连接默认数据库
mysql -h<ip地址> -u<用户名> -p
,端口使用默认的,可以连接默认的 MariaDB。
使用 STATUS
命令,可以查看当前连接服务器的基本状态
连接clickhouse
使用 mysql 的客户端连接 clickhouse,必须使用特殊的端口。定义在 /etc/clickhouse-server/config.xml
中的 mysql_port
中配置
mysql -h<ip地址> -u<用户名> -P9004 -p
,可以连接默认的 clickhouse
但此时,使用 STATUS
命令server 名称依旧会被认为是 mysql,然后版本号才会告诉你是 clickhouse
也可以使用 clickhouse 的命令,查看系统表 SELECT * FROM system.build_options WHERE upper(name) LIKE '%VERSION%';
执行的命令必须遵循 clickhouse 语法,而非mysql。且交互模式默认为多行模式,以封号而非换行符作为SQL语句的结束符。
-- 建表
CREATE TABLE mysql_table(
id UInt32,
name String,
age UInt8
) ENGINE = MergeTree()
PRIMARY KEY id
ORDER BY id
PARTITION BY age
-- 插入
INSERT INTO mysql_table VALUES
(1, 'bob', 30),
(2, 'tina', 28),
(3, 'tom', 32),
(4, 'linda', 25);
-- 查询
SELECT * FROM mysql_table;
弊端
使用 MySQL客户端登陆,有个弊端,就是按 Tab 键不会有代码提示
以上是关于用 mysql 客户端连接 clickhouse的主要内容,如果未能解决你的问题,请参考以下文章
Using ClickHouse like MySQL by ProxySQL
适用于 Windows 的 ClickHouse MYSQL 驱动程序无法正常工作