ClickHouse MySQL接口

ClickHouse支持MySQL wire通讯协议。可以通过在配置文件中设置 mysql_port 来启用它:

<mysql_port>9004</mysql_port>

使用命令行工具 mysql 进行连接的示例:

$ mysql --protocol tcp -u default -P 9004

如果连接成功,则输出:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 20.2.1.1-ClickHouse

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

为了与所有MySQL客户端兼容,建议在配置文件中使用 double SHA1 来指定用户密码。
如果使用 SHA256 指定用户密码,一些客户端将无法进行身份验证(比如mysqljs和旧版本的命令行工具mysql)。

限制:

  • 不支持prepared queries

  • 某些数据类型以字符串形式发送

ClickHouse可以接受和返回各种格式的数据。受支持的输入格式可用于提交给INSERT语句、从文件表(File,URL,HDFS或者外部目录)执行SELECT语句,受支持的输出格式可用于格式化SEL ...