Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Comment supprimer l’utilisateur default ?

Suppression de l’utilisateur default

Dans ce guide, nous allons voir comment supprimer l’utilisateur default de ClickHouse Server.

Pour ce faire, créez un fichier YAML (par exemple remove_default_user.yaml) contenant le contenu suivant

users:
  default:
    "@remove": remove

L'emplacement de ce fichier dépend de la façon dont ClickHouse a été installé.

Exécution directe de l’exécutable

Si nous lançons ClickHouse directement (clickhouse server), nous devons placer le fichier dans le répertoire config.d.

Lorsque nous exécutons le serveur ClickHouse :

clickhouse server

Vous verrez la ligne suivante dans les logs :

{} <Debug> ConfigProcessor: Merging configuration file 'config.d/remove_default_user.yaml'.

Et il nous sera impossible de nous connecter avec 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 ou installation locale

Si nous utilisons ClickHouse via Docker ou s’il est installé sur notre machine, nous devons plutôt placer le fichier dans le répertoire /etc/clickhouse-server/users.d.

Ainsi, si nous l’utilisons avec Docker, nous pouvons monter le répertoire config.d que nous avons créé précédemment sur /etc/clickhouse-server/users.d :

docker run \
  -v ./config.d:/etc/clickhouse-server/users.d \
  -p 8123:8123 -p9000:9000 \
  clickhouse/clickhouse-server:24.12
Merging 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.log

Nous pouvons ensuite consulter les logs du serveur pour vérifier qu’il a bien été détecté :

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.log

La ligne suivante devrait s’afficher :

{} <Debug> ConfigProcessor: Merging configuration file '/etc/clickhouse-server/users.d/remove_default_user.yaml'.
Navigation