3分钟快速安装 ClickHouse、配置服务、设置密码和远程登录以及修改数据目录

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

安装 ClickHouse

  1. 安装 YUM 工具包

    bash 复制代码
    sudo yum install -y yum-utils
  2. 添加 ClickHouse YUM 仓库

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

    bash 复制代码
    sudo yum install -y clickhouse-server clickhouse-client
  4. 启用并启动 ClickHouse 服务

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

    bash 复制代码
    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。例如:

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

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

    复制代码
    sudo service clickhouse-server restart

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

  1. 默认用户用密码登录

    bash 复制代码
    clickhouse-client --password
  2. 其它用户连接数据库

  • 使用默认用户名 default 和配置的密码 XXXXXX 连接到 ClickHouse 客户端。

    bash 复制代码
    clickhouse-client --user default --password XXXXX
  1. 配置远程登录
  • 编辑 /etc/clickhouse-server/config.xml 文件。

    bash 复制代码
    sudo nano /etc/clickhouse-server/config.xml
  • 找到并取消注释(或添加)以下行以允许远程连接:

    xml 复制代码
    <listen_host>0.0.0.0</listen_host>

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

修改数据目录

  1. 停止 ClickHouse 服务

    • 停止 ClickHouse 服务以确保在移动数据时不会发生损坏。

      bash 复制代码
      sudo systemctl stop clickhouse-server
  2. 创建新的数据目录

    • 如果新目录 /app/clickhouse 还不存在,你需要先创建它。

      bash 复制代码
      sudo mkdir -p /app/clickhouse
      sudo mkdir -p /app/clickhouse/tmp
  3. 编辑配置文件

    • 修改 /etc/clickhouse-server/config.xml 文件中的数据目录设置。

      bash 复制代码
      sudo nano /etc/clickhouse-server/config.xml
    • 找到 <path><tmp_path> 标签,并更改为新的目录路径:

      xml 复制代码
      <!-- 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/

      bash 复制代码
      sudo mv /var/lib/clickhouse/* /app/clickhouse/
  5. 设置正确的权限

    • 确保新目录具有正确的权限,以便 ClickHouse 可以访问。

      bash 复制代码
      sudo chown -R clickhouse:clickhouse /app/clickhouse
      sudo chmod -R 700 /app/clickhouse
  6. 重启 ClickHouse 服务

    • 重启 ClickHouse 服务,并检查是否一切正常。

      bash 复制代码
      sudo systemctl start clickhouse-server

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

验证配置

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

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

默认用户密码配置

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

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

生成 SHA256 密码哈希

  1. 在命令行中生成哈希
    • 你可以使用 echosha256sum 命令来生成密码的 SHA256 哈希。

      bash 复制代码
      echo -n 'AAAaaa' | sha256sum
    • 这将输出一串哈希值,看起来像 5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8

配置 ClickHouse 用户密码

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

1. 明文密码

  • 编辑 /etc/clickhouse-server/users.xml 文件。

  • 在相应的用户配置下添加 <password> 标签并设置密码值。

    xml 复制代码
    <password>123456789</password>

2. SHA256 密码

  • 使用 OpenSSL 生成密码的 SHA256 哈希。

    bash 复制代码
    echo -n 123456789 | openssl dgst -sha256
  • users.xml 文件中,将 <password_sha256_hex> 标签的值设置为生成的哈希值。之前的 <password> 标签需要注释掉

    xml 复制代码
    <password_sha256_hex>15e2b0d3c33891ebb0f1ef609ec419420c20e320ce94c65fbc8c3312448eb225</password_sha256_hex>

3. 双重 SHA1 密码

  • 使用 OpenSSL 生成密码的双重 SHA1 哈希。

    bash 复制代码
    echo -n 123456789 | openssl dgst -sha1 -binary | openssl dgst -sha1
  • users.xml 文件中,设置 <password_double_sha1_hex> 标签的值为生成的哈希值。之前的 <password> 标签需要注释掉

    xml 复制代码
    <password_double_sha1_hex>cc67043c7bcff5eea5566bd9b1f3c74fd9a5cf5d</password_double_sha1_hex>

重启服务和测试登录

  • 完成密码设置后,需要重启 ClickHouse 服务以应用更改。

    bash 复制代码
    systemctl restart clickhouse-server
  • 测试登录以验证密码是否正确设置。

    bash 复制代码
    clickhouse-client --password

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

相关推荐
重生之绝世牛码2 天前
Linux软件安装 —— ClickHouse单节点安装(rpm安装、tar安装两种安装方式)
大数据·linux·运维·数据库·clickhouse·软件安装·clickhouse单节点
麦兜和小可的舅舅2 天前
Spark to ClickHouse由于DNS问题导致Stage重试的Task竞态分析和问题解决过程
clickhouse·spark
重生之绝世牛码2 天前
Linux软件安装 —— ClickHouse集群安装(集成Zookeeper)+ chproxy负载均衡
大数据·linux·数据库·clickhouse·软件安装·clickhouse集群安装·clickhouse负载均衡
无级程序员4 天前
clickhouse创建用户,登录出错的问题,code 516
linux·服务器·clickhouse
billy_gisboy5 天前
01-Windows+DockerDesktop部署ClickHouse
windows·clickhouse
billy_gisboy5 天前
02-Windows DockerDesktop部署ClickHouse,解决指定磁盘数据持久化问题与WSL2调优
windows·clickhouse
hkNaruto5 天前
【运维】低配服务器ClickHouse Docker部署故障复盘与优化配置指南
运维·服务器·clickhouse
有梦想有行动6 天前
ClickHouse的Partition和Part概念
linux·数据库·clickhouse
l1t6 天前
利用DeepSeek辅助翻译clickhouse SQL为DuckDB 格式求解Advent of Code 2025第10题 电子工厂 第二部分
数据库·人工智能·sql·clickhouse·duckdb
l1t6 天前
对clickhouse给出的二分法求解Advent of Code 2025第10题 电子工厂 第二部分的算法理解
数据库·算法·clickhouse