Настройка прав доступа

После того как нами в ClickHouse была создана БД
(create database mybase)

Для настройки прав доступа на созданную базу данных в папке /etc/clickhouse-server/users.d создайте файл myuser.xmlс описанием прав доступа:

$ sudo cat /etc/clickhouse-server/users.d/myuser.xml
<yandex>
    <users>
    <myuser>
        <password>mypass</password>
        <networks>
            <ip>::/0</ip>
    </networks>
        <profile>default</profile>
        <quota>default</quota>
        <allow_databases>
            <database>mybase</database>
        </allow_databases>
    </myuser>
    </users>
</yandex>

В этом файле описан пользователь myuser с паролем mypass и доступом к базе данных mybase с любого IP-адреса.

Проверьте подключение с правами пользователя ОС Ubuntu:

$ clickhouse-client --user myuser --password --database mybase
ClickHouse client version 20.1.4.14 (official build).
Password for user (myuser):
Connecting to database mybase at localhost:9000 as user myuser.
Connected to ClickHouse server version 20.1.4 revision 54431.

Настройка сетевого доступа

По умолчанию ClickHouse слушает только 127.0.0.1. Чтобы настроить сетевой доступ к серверу, в папке /etc/clickhouse-server/config.d создайте конфигурационный файл listen.xml:

$ sudo cat /etc/clickhouse-server/config.d/listen.xml
<yandex>
    <listen_host>::</listen_host>
</yandex>

Перезапустите сервер:

$ sudo systemctl restart clickhouse-server

Убедитесь, что ClickHouse слушает сеть:

$ sudo netstat -tulpn | grep clickhouse
tcp6 0 0 :::9000 :::* LISTEN 22529/clickhouse-se
tcp6 0 0 :::9009 :::* LISTEN 22529/clickhouse-se
tcp6       0      0 :::8123                 :::*                    LISTEN      22529/clickhouse-server

Теперь к серверу можно подключиться из внешней сети.