下面是一个完整的 ClickHouse 安装和配置流程,包括安装 ClickHouse、配置服务、设置密码和远程登录以及修改数据目录。

安装 ClickHouse

  1. 安装 YUM 工具包

    sudo yum install -y yum-utils
    
  2. 添加 ClickHouse YUM 仓库

    sudo yum-config-manager --add-repo https://packages.clickhouse.com/rpm/clickhouse.repo
    
  3. 安装 ClickHouse 服务器和客户端

    sudo yum install -y clickhouse-server clickhouse-client
    
  4. 启用并启动 ClickHouse 服务

    sudo systemctl enable clickhouse-server
    sudo systemctl start clickhouse-server
    sudo systemctl status clickhouse-server
    
  5. 连接到 ClickHouse 客户端(如果未设置密码):

    clickhouse-client
    

配置 ClickHouse

配置默认用户密码(这是明文的配置步骤,下面有密文的配置步骤)

要将 ClickHouse 中的 default 用户密码设置为 AAAaaa,请按照以下步骤操作:

  1. 打开 ClickHouse 配置文件。这通常在 /etc/clickhouse-server/users.xml/etc/clickhouse-server/users.d/ 目录下。

  2. 找到 <users> 部分下的 <default> 用户配置。

  3. <default> 部分中,找到 <password> 标签。如果该标签不存在,您需要添加它。

  4. <password> 标签的内容更改为新密码 AAAaaa。例如:

    <default>
        <!-- 其他设置 -->
        <password>AAAaaa</password>
        <!-- 其他设置 -->
    </default>
    
  5. 保存并关闭配置文件。

  6. 重启 ClickHouse 服务以应用更改。在大多数 Linux 发行版上,可以使用以下命令重启服务:

    sudo service clickhouse-server restart
    

完成这些步骤后,您应该能够使用新密码 AAAaaa 登录 default 用户。请确保在进行这些更改时具有适当的系统访问权限,并在修改配置文件之前进行备份。

  1. 默认用户用密码登录
    clickhouse-client --password
    
  2. 其它用户连接数据库
  • 使用默认用户名 default 和配置的密码 XXXXXX 连接到 ClickHouse 客户端。
    clickhouse-client --user default --password XXXXX
    
  1. 配置远程登录
  • 编辑 /etc/clickhouse-server/config.xml 文件。
    sudo nano /etc/clickhouse-server/config.xml
    
  • 找到并取消注释(或添加)以下行以允许远程连接:
    <listen_host>0.0.0.0</listen_host>
    

你是对的,创建新数据目录的步骤确实是必要的。以下是修改 ClickHouse 数据目录时包含创建新目录的完整流程:

修改数据目录

  1. 停止 ClickHouse 服务

    • 停止 ClickHouse 服务以确保在移动数据时不会发生损坏。
      sudo systemctl stop clickhouse-server
      
  2. 创建新的数据目录

    • 如果新目录 /app/clickhouse 还不存在,你需要先创建它。
      sudo mkdir -p /app/clickhouse
      sudo mkdir -p /app/clickhouse/tmp
      
  3. 编辑配置文件

    • 修改 /etc/clickhouse-server/config.xml 文件中的数据目录设置。
      sudo nano /etc/clickhouse-server/config.xml
      
    • 找到 <path><tmp_path> 标签,并更改为新的目录路径:
      <!-- Path to data directory, with trailing slash. -->
      <path>/app/clickhouse/</path>
      <tmp_path>/app/clickhouse/tmp/</tmp_path>
      
    • 在 nano 中,按 Ctrl + O 保存更改,然后按 Ctrl + X 退出。
  4. 移动现有数据(如果适用):

    • 将数据从默认目录 /var/lib/clickhouse/ 移动到新目录 /app/clickhouse/
      sudo mv /var/lib/clickhouse/* /app/clickhouse/
      
  5. 设置正确的权限

    • 确保新目录具有正确的权限,以便 ClickHouse 可以访问。
      sudo chown -R clickhouse:clickhouse /app/clickhouse
      sudo chmod -R 700 /app/clickhouse
      
  6. 重启 ClickHouse 服务

    • 重启 ClickHouse 服务,并检查是否一切正常。
      sudo systemctl start clickhouse-server
      

通过以上步骤,你可以成功地将 ClickHouse 的数据目录更改为 /app/clickhouse。如果在过程中遇到任何问题,或者需要进一步的帮助,请随时告诉我。

验证配置

  • 在完成配置后,验证 ClickHouse 是否正常运行,新的数据目录和远程登录是否设置成功。

这个流程涵盖了从安装到配置的完整步骤,包括基本的服务管理、安全设置和目录配置。如果有任何疑问或需要进一步的帮助,请随时告知。

默认用户密码配置

在 ClickHouse 中设置用户密码,而不使用明文密码,通常意味着使用哈希来存储密码。这样可以增加安全性,因为即使配置文件被查看,密码本身也不会被暴露。

要设置 default 用户的密码为 AAAaaa 的哈希,你需要先生成该密码的 SHA256 哈希,然后将其添加到 ClickHouse 的用户配置文件中。以下是步骤:

生成 SHA256 密码哈希

  1. 在命令行中生成哈希
    • 你可以使用 echosha256sum 命令来生成密码的 SHA256 哈希。
      echo -n 'AAAaaa' | sha256sum
      
    • 这将输出一串哈希值,看起来像 5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8

配置 ClickHouse 用户密码

感谢您分享了关于如何修改 ClickHouse 默认密码的方法。文章内容概括了三种不同方式来设置密码:明文密码、SHA256 哈希密码和双重 SHA1 哈希密码。以下是这些方法的简要概述和操作步骤:

1. 明文密码

  • 编辑 /etc/clickhouse-server/users.xml 文件。
  • 在相应的用户配置下添加 <password> 标签并设置密码值。
    <password>123456789</password>
    

2. SHA256 密码

  • 使用 OpenSSL 生成密码的 SHA256 哈希。
    echo -n 123456789 | openssl dgst -sha256
    
  • users.xml 文件中,将 <password_sha256_hex> 标签的值设置为生成的哈希值。之前的 <password> 标签需要注释掉
    <password_sha256_hex>15e2b0d3c33891ebb0f1ef609ec419420c20e320ce94c65fbc8c3312448eb225</password_sha256_hex>
    

3. 双重 SHA1 密码

  • 使用 OpenSSL 生成密码的双重 SHA1 哈希。
    echo -n 123456789 | openssl dgst -sha1 -binary | openssl dgst -sha1
    
  • users.xml 文件中,设置 <password_double_sha1_hex> 标签的值为生成的哈希值。之前的 <password> 标签需要注释掉
    <password_double_sha1_hex>cc67043c7bcff5eea5566bd9b1f3c74fd9a5cf5d</password_double_sha1_hex>
    

重启服务和测试登录

  • 完成密码设置后,需要重启 ClickHouse 服务以应用更改。
    systemctl restart clickhouse-server
    
  • 测试登录以验证密码是否正确设置。
    clickhouse-client --password
    

这些步骤提供了灵活的选择来设置 ClickHouse 用户密码,以满足不同安全需求。请确保在操作过程中妥善处理和保护密码信息,尤其是当使用明文密码时。如果您有任何疑问或需要进一步的帮助,请随时告诉我。

12-26 09:45