我在 Windows 主机上的 docker 容器中运行 Clickhouse。我尝试创建一个帐户以使其成为管理员帐户。看起来默认用户没有创建其他帐户的权限。如何解决此错误并创建管理员帐户?
docker-compose exec -T dash-clickhouse clickhouse-client --query="CREATE USER 'foo' IDENTIFIED WITH sha256_password BY 'bar'"
Run Code Online (Sandbox Code Playgroud)
给出了错误
Received exception from server (version 20.7.2):
Code: 497. DB::Exception: Received from localhost:9000. DB::Exception: default: Not enough privileges. To execute this query it's necessary to have the grant CREATE USER ON *.*.
Run Code Online (Sandbox Code Playgroud)
vla*_*mir 13
要修复它需要在文件中启用access_management-setting users.xml:
# execute an interactive bash shell on the container
docker-compose exec {container_name} bash
# docker exec -it {container_name} bash
# install preferable text editor (i prefer using 'nano')
apt-get update
apt-get install nano
# open file users.xml in the editor
nano /etc/clickhouse-server/users.xml
Run Code Online (Sandbox Code Playgroud)
取消注释用户access_management的 -settingdefault并保存更改:
..
<!-- User can create other users and grant rights to them. -->
<!-- <access_management>1</access_management> -->
..
Run Code Online (Sandbox Code Playgroud)
mkdir -p ~/Documents/docker/click/etc/conf.d
cat ~/Documents/docker/click/etc/conf.d/zxylalalhuayk.xml
<?xml version="1.0" ?>
<yandex>
<users>
<default>
<access_management>1</access_management>
</default>
</users>
</yandex>
docker run -d --name test -v ~/Documents/docker/click/etc/conf.d/:/etc/clickhouse-server/conf.d --ulimit nofile=262144:262144 -p 8123:8123 yandex/clickhouse-server
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2886 次 |
| 最近记录: |