Настройка прав доступа
После того как нами в 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
Теперь к серверу можно подключиться из внешней сети.