إزالة المستخدم default
في هذا الدليل، سنتعلّم كيفية إزالة المستخدم default من خادم ClickHouse.
يمكننا القيام بذلك من خلال إنشاء ملف YAML (لنسمّه remove_default_user.yaml) بالمحتوى التالي
users:
default:
"@remove": removeيعتمد موقع هذا الملف على الطريقة التي ثبّتْنا بها ClickHouse.
تشغيل الملف التنفيذي مباشرةً
إذا كنّا نشغّل ClickHouse مباشرةً (clickhouse server)، فعلينا وضع الملف في الدليل config.d.
عند تشغيل خادم ClickHouse:
clickhouse serverسنرى السطر التالي في السجلات:
{} <Debug> ConfigProcessor: Merging configuration file 'config.d/remove_default_user.yaml'.ولن نتمكن من إجراء اتصال باستخدام 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 أو التثبيت المحلي
إذا كنا نشغّل ClickHouse عبر Docker أو كان مُثبّتًا على جهازنا، فنحتاج بدلًا من ذلك إلى وضع الملف ضمن الدليل /etc/clickhouse-server/users.d.
لذا، إذا كنا نشغّله باستخدام Docker، يمكننا ربط الدليل config.d الذي أنشأناه سابقًا بـ /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.logيمكننا بعد ذلك البحث في سجلات الخادم للتأكد من أنه قد جرى رصده:
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يُفترض أن يظهر السطر التالي:
{} <Debug> ConfigProcessor: Merging configuration file '/etc/clickhouse-server/users.d/remove_default_user.yaml'.