MySQL-интерфейс
ClickHouse поддерживает взаимодействие по протоколу MySQL. Данная функция включается настройкой 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>
Для совместимости со всеми клиентами рекомендуется задавать пароль пользователя в конфигурационном файле с помощью двойного хэша SHA1. В случае указания пароля с помощью SHA256 некоторые клиенты не смогут пройти аутентификацию (mysqljs и старые версии стандартного клиента mysql).
Ограничения:
не поддерживаются подготовленные запросы
некоторые типы данных отправляются как строки
Чтобы прервать долго выполняемый запрос, используйте запрос KILL QUERY connection_id
(во время выполнения он будет заменен на KILL QUERY WHERE query_id = connection_id
). Например:
$ mysql --protocol tcp -h mysql_server -P 9004 default -u default --password=123 -e "KILL QUERY 123456;"