Eliminar el usuario default
En esta guía, aprenderemos a eliminar el usuario default del servidor de ClickHouse.
Podemos hacerlo creando un archivo YAML (lo llamaremos remove_default_user.yaml) con el siguiente contenido
users:
default:
"@remove": removeLa ubicación de este archivo depende de cómo esté instalado ClickHouse.
Ejecutar el ejecutable directamente
Si estamos ejecutando ClickHouse directamente (clickhouse server), debemos colocar el archivo en el directorio config.d.
Cuando ejecutamos ClickHouse Server:
clickhouse serverVeremos la siguiente línea en los logs:
{} <Debug> ConfigProcessor: Merging configuration file 'config.d/remove_default_user.yaml'.Y no podremos conectarnos con clickhouse client:
ClickHouse client version 24.11.1.2557 (official build).
Connecting to localhost:9000 as user default.
Password for user (default):
Connecting to localhost:9000 as user default.
Code: 516. DB::Exception: Received from localhost:9000. DB::Exception: default: Authentication failed: password is incorrect, or there is no user with such name.Docker o instalado
Si ejecutamos ClickHouse con Docker o lo tenemos instalado en nuestra máquina, debemos colocar el archivo en el directorio /etc/clickhouse-server/users.d.
Así que, si lo ejecutamos con Docker, podemos montar el directorio config.d que creamos antes en /etc/clickhouse-server/users.d:
docker run \
-v ./config.d:/etc/clickhouse-server/users.d \
-p 8123:8123 -p9000:9000 \
clickhouse/clickhouse-server:24.12Merging configuration file '/etc/clickhouse-server/config.d/docker_related_config.xml'.
Logging trace to /var/log/clickhouse-server/clickhouse-server.log
Logging errors to /var/log/clickhouse-server/clickhouse-server.err.logLuego podemos buscar en los logs del servidor para comprobar que lo recoge:
docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Names}}\t{{.Command}}"CONTAINER ID IMAGE NAMES COMMAND
383e8ed89431 clickhouse/clickhouse-server:24.12 trusting_rosalind "/entrypoint.sh"docker exec -it trusting_rosalind grep "users\.d" /var/log/clickhouse-server/clickhouse-server.logDeberíamos ver la siguiente línea:
{} <Debug> ConfigProcessor: Merging configuration file '/etc/clickhouse-server/users.d/remove_default_user.yaml'.