当前位置: 代码迷 >> 综合 >> clickhouse(二) 设置用户的登录密码
  详细解决方案

clickhouse(二) 设置用户的登录密码

热度:64   发布时间:2023-12-27 20:33:00.0

Clickhouse默认是不需要密码进行登陆的,系统默认的登录账号是default,在我们登录到clickhouse的时候可以看到,系统会告诉我们是以哪个用户账号进行登录的。

root@Lenovo:~# clickhouse-client
ClickHouse client version 21.1.2.15 (official build).
Connecting to localhost:9000 as user default.
Connected to ClickHouse server version 21.1.2 revision 54443.Lenovo.localdomain :)

如上所示,使用clickhouse-client登录到数据库,

系统打印的第一行:ClickHouse client version 21.1.2.15 (official build)         登录客户端的的版本;

第二行:Connecting to localhost:9000 as user default         数据库运行的端口9000以及登录用的用户default;

第三行:Connected to ClickHouse server version 21.1.2 revision 54443.     数据库服务的版本

修改数据库配置,需要使用密码才能进行登录

clickhouse的主要配置文件在 /etc/clickhouse-server目录下

root@Lenovo:~# cd /etc/clickhouse-server
root@Lenovo:/etc/clickhouse-server# ls
config.d  config.xml  users.d  users.xml
root@Lenovo:/etc/clickhouse-server#

在该目录下,我们可以看到config.xml以及users.xml两个配置文件

1、config.xml是系统相关的配置项,包括系统的启动端口、配置文件存储位置等等

2、users.xml 是用户相关的配置项,包括了系统参数的设定、用户的定义、权限以及熔断机制等等

因为我们要修改用户登录项,所以我们需要修改users.xml。

打开users.xml,找到<users>标签,该标签定义了用户信息。

我们可以看到,在<users>标签下的第一个子标签<default>,正是系统默认内置的用户。在下方的英文描述中,可以看到对用户密码做了一些说明。

要给用户配置登录密码,就要在defaul用户下增加<passsword>标签。

password用于设置登录密码,支持明文、SHA256加密和double_shal加密三种形式,我们可以根据实际需求,认选一种进行配置。

(1)、明文密码:直接通过password标签定义

    例如:<password>123</password>    --注意:当password标签为空时,代表免密码登录。

(2)、SHA256加密:SHA256加密算法的密码,需要使用<password_sha256_hex>标签定义密码

    例如:

<password_sha256_hex>a665a45920422f9d417e4867efdc4fb8a04a1f3fff1fa07e998e86f7f7a27ae3</password_sha256_hex>

    可以使用如下命令,生成sha256加密字符串

root@Lenovo:~# echo -n 123 | openssl dgst -sha256
(stdin)= a665a45920422f9d417e4867efdc4fb8a04a1f3fff1fa07e998e86f7f7a27ae3

 (3)、double_shal 加密:在使用double_shal加密算法的时候,则需要通过password_double_shal_hex标签定义密码

   例如:

<password_double_shal_hex>23ae809ddacaf96afofd78ed04b6a265e05aa257</password_double_shal_hex>

    同样可以使用命令生成加密字符串

echo -n 123 | openssl dgst -shal -binary | openssl dgst -shal

密码设定完成之后,直接使用clickhouse-client连接clickhouse-server客户端就不能成功了,会提示密码错误或用户不存在

ClickHouse client version 21.1.2.15 (official build).
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.

此时,我们应该指定登录密码

clickhouse-client -u default --password 123//-u 为指定使用哪个账号进行登录,如不指定。默认使用default

如有错误,欢迎指正!

  相关解决方案