1.配置用户名密码 安装完ClickHouse之后,默认情况下它使用‘default’用户无密码的与localhost:9000服务建立连接。 客户端也可以用于连接远程服务。 ClickHouse主要配置文件问config.xml,配置文件位置为:/etc/clickhouse-server/config.xml。可以在配置文件旁边的conf.d和config.d目录的* .xml和* .conf文件中覆盖各个设置。不同的用户配置文件就可以放在user.d文件夹下。 (1) 随机生成密钥
1 2 3 4 PASSWORD=$(base64 < /dev/urandom | head -c8); echo "$PASSWORD " ; echo -n "$PASSWORD " | sha256sum | tr -d '-' PASSWORD=user1q2w3e4r.; echo "$PASSWORD " ; echo -n "$PASSWORD " | sha256sum | tr -d '-'
(2) 在user.d文件夹下新建newuser.xml文件 其中users节点下的admin就是新建的用户名,密码是上面生成的sha256加密后端字符串
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 <?xml version="1.0" ?> <yandex > <profiles > <default > <max_memory_usage > 10000000000</max_memory_usage > <use_uncompressed_cache > 0</use_uncompressed_cache > <load_balancing > random</load_balancing > </default > </profiles > <quotas > <default > <interval > <duration > 3600</duration > <queries > 0</queries > <errors > 0</errors > <result_rows > 0</result_rows > <read_rows > 0</read_rows > <execution_time > 0</execution_time > </interval > </default > </quotas > <users > <admin > <password_sha256_hex > dac6badf50999c40b7241c3df821dc0dfca7603badda01bf60dbc10d9da17b69</password_sha256_hex > <networks incl ="networks" replace ="replace" > <ip > ::/0</ip > </networks > <profile > default</profile > <quota > default</quota > </admin > </users > </yandex >
如果禁止defualt用户在外网登录,则添加users
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 <users > <admin > <password_sha256_hex > dac6badf50999c40b7241c3df821dc0dfca7603badda01bf60dbc10d9da17b69</password_sha256_hex > <networks incl ="networks" replace ="replace" > <ip > ::/0</ip > </networks > <profile > default</profile > <quota > default</quota > </admin > <default > <networks incl ="networks" replace ="replace" > <ip > ::1</ip > <ip > 127.0.0.1</ip > </networks > </default > </users >
(3) 登录数据库 修改配置文件后,不需要重新启动服务。服务器跟踪配置文件以及执行替换和替代时使用的文件和ZooKeeper节点的更改,并即时重新加载用户和集群的设置。这意味着您可以修改群集,用户及其设置,而无需重新启动服务器。
1 2 clickhouse-client -h 127.0.0.1 -d lsmfhx -m -u admin --password 1q2w3e4r
2.开启远程连接 安装之后,默认是监听本机的8123端口,所以我们要开启来自局域网的连接。 (1) 查看监听端口
(2) 停止clickhouse服务
1 2 sudo service clickhouse-server stop
(3) 编辑 /etc/clickhouse-server/config.xml 文件 找到下面内容,将listen_host两边的注释打开
1 2 <listen_host > ::</listen_host >
(4) 重启clickhouse服务
1 2 3 4 5 sudo service clickhouse-server startsystemctl restart clickhouse-server
注意 注意 注意
要关闭虚拟机中的防护墙
1 2 3 4 5 6 systemctl status firewalld systemctl stop firewalld systemctl disable firewalld
需要的话,还要关闭SElinux,我这里没有关,也是可以的。
3.权限设置 配置只读用户
1 2 3 4 5 6 7 8 9 10 11 <users > <user > <password_sha256_hex > a07fa339a8dbc7984ba9f30844541913db1e17ded6fb18e7cbbae7f4845ff9b3</password_sha256_hex > <networks incl ="newworks" replace ="replace" > <ip > ::/0</ip > </networks > <profile > readonly</profile > <quota > default</quota > </user > </users >
4.配置数据库权限 编辑/etc/clickhouse-server/users.d下的配置文件,可以指定用户的单独的数据库权限,经过测试,default 必须写上,否则读不到数据库。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 <users > <user_name > --配置的用户 <password > </password > --明文密码 <password_sha256_hex > </password_sha256_hex > --加密密码,二选一 <networks incl ="networks" replace ="replace" > --允许登录的地址,用于限制用户登录的客户端地址 </networks > <profile > profile_name</profile > --指定用户的profile <quota > default</quota > -- 指定用户的quota,限制用户使用资源 <allow_databases > <database > gdnx</database > <database > default</database > </allow_databases > </user_name > </users >