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

下面是一个完整的 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 用户密码,以满足不同安全需求。请确保在操作过程中妥善处理和保护密码信息,尤其是当使用明文密码时。如果您有任何疑问或需要进一步的帮助,请随时告诉我。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/577887.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【NI-RIO入门】如何格式化实时控制器

1.当使用CompactRIO时有时会出现硬盘已满或出现IO错误&#xff0c;如下如图 2.出现上下位机软件版本不匹配 3.rt组件损坏 4.实时控制器意外进入安全模式 5.设备非正常断电 6.访问被拒绝&#xff1a;目标被另一个进程&#xff08;例如 VI 或 NI 分布式系统管理器&#xff09;锁定…

中间继电器的文字符号和图形符号

中间继电器的文字符号和图形符号 中间继电器主要用途是当其他继电器触头数量或容量不够时&#xff0c;可借助中间继电器扩充触头数目或增大触头容量&#xff0c;起中间转换作用。将多个中间继电器相组合&#xff0c;还能构成各种逻辑运算电器或计数电器。 中间继电器文字符号…

Kafka、RocketMQ、RabbitMQ消息丢失可能存在的地方,以及解决方案

这里主要对比&#xff1a;Kafka、RocketMQ、RabbitMQ 介绍一下消息生产、存储、消费三者的架构形式。 消息丢失可能存在的场景&#xff1a; 情况一&#xff1a; 生产者发送给MQ的过程消息丢失 在写消息的过程中因为网络的原因&#xff0c;还没到mq消息就丢失了&#xff1b;或…

Android开发中常见的Hook技术有哪些?

Hook技术介绍 Hook技术是一种在软件开发中常见的技术&#xff0c;它允许开发者在特定的事件发生时插入自定义的代码逻辑。常见的应用场景包括在函数调用前后执行特定的操作&#xff0c;或者在特定的事件发生时触发自定义的处理逻辑。 在Android开发中&#xff0c;Hook通常是通…

TypeScript入门笔记1

You 按照下面目录&#xff0c;制作通俗易懂的 TypeScript 教程&#xff0c;给一个懂一点python的新手。 首先通俗解释概念。 然后给出3个实际例子进行讲解。 并详细解释其中的语法规则&#xff0c;和新手注意事项&#xff0c;易犯错误 python对应的可能写法。 ### 目录&#x…

【AI故事】灵感的源泉还是知识的盗窃?

灵感的源泉还是知识的盗窃&#xff1f; ——ChatGPT Robot在一个漆黑的夜晚&#xff0c;年轻的作家艾米丽坐在书桌前&#xff0c;手里紧握着一支笔&#xff0c;思绪万千。她一直在寻找创作的灵感&#xff0c;但却毫无头绪。 突然&#xff0c;她听到了一声巨响&#xff0c;仿佛…

C# 初识System.IO.Pipelines

写在前面 在进一步了解Socket粘包分包的过程中&#xff0c;了解到了.NET 中的 System.IO.Pipelines&#xff0c;可以更优雅高效的解决这个问题&#xff1b;先跟随官方的示例做个初步的认识。 System.IO.Pipelines 是一个库&#xff0c;旨在使在 .NET 中执行高性能 I/O 更加容…

云原生周刊:Karmada 成为 CNCF 孵化项目 | 2023.12.25

开源项目推荐 kubernetes-reflector Reflector 是一个 Kubernetes 的插件&#xff0c;旨在监视资源&#xff08;secrets 和 configmaps&#xff09;的变化&#xff0c;并将这些变化反映到同一命名空间或其他命名空间中的镜像资源中。 Lingo Lingo 是适用于 K8s 的 OpenAI 兼…

NGINX高级技巧

大家好&#xff0c;我是升仔 引言 在现代的Web架构中&#xff0c;NGINX扮演着至关重要的角色。不仅因为其出色的性能&#xff0c;也因为其灵活的配置和强大的功能。掌握NGINX的高级技巧&#xff0c;可以帮助你更好地管理Web服务&#xff0c;提升性能&#xff0c;确保稳定性。 实…

Reactor 和 Proactor模式,IO复用与epoll、同步IO,异步IO与协程

汽车软件中的CPU密集与IO密集任务 在汽车软件中&#xff0c;涉及到ADAS的长期占用CPU的计算任务可以算的上是CPU密集型。 另外的&#xff0c;众多SOA原子服务或者各种数据收集、处理、分发、log系统&#xff0c;应该算是IO密集型任务。 寻求一些手段优化IO性能的原因 在过去…

如何在uni-app项目中使用路由

在uni-app项目中使用路由代码&#xff0c;需要以下几个步骤&#xff1a; 在uni-app项目的pages.json文件中配置路由信息。在pages数组中添加需要路由管理的页面&#xff0c;例如&#xff1a; "pages": [{"path": "pages/index/index","na…

DeskPins | 将窗口钉在面前

前言 DeskPins | 将窗口钉在面前 有的人&#xff0c;一边看番&#xff0c;一边却在刷题&#xff1b; 有的人&#xff0c;一边网课&#xff0c;一边却在摸鱼。 有的人&#xff0c;一边某xuexi通上考试&#xff0c;一边。。 众所周知&#xff0c;窗口置顶是很常见的一个需求&…

智慧零售技术探秘:关键技术与开源资源,助力智能化零售革新

智慧零售是一种基于先进技术的零售业态&#xff0c;通过整合物联网、大数据分析、人工智能等技术&#xff0c;实现零售过程的智能化管理并提升消费者体验。 实现智慧零售的关键技术包括商品的自动识别与分类、商品的自动结算等等。 为了实现商品的自动识别与分类&#xff0c;…

vue3+ts 代理的使用

简单封装request.ts import axios from "axios";// 1.创建axios对象 const serviceaxios.create();// 2.请求拦截器 service.interceptors.request.use(config>{return config; },error>{Promise.reject(error); })// 3.响应拦截器 service.interceptors…

走进数字金融峰会,为金融科技数字化赋能

12月20—21日&#xff0c;FSIDigital数字金融峰会在上海圆满召开。本次峰会包含InsurDigital数字保险峰会和B&SDigital数字银行与证券峰会2场平行峰会&#xff1b;吸引了近600位来自保险、银行、证券以及金融科技等行业的领导者和专家齐聚一堂&#xff0c;共同探讨金融业数…

docker 私有仓库

Docker 私有仓库 一、私有仓库搭建 # 1、拉取私有仓库镜像 docker pull registry # 2、启动私有仓库容器 docker run -id --nameregistry -p 5000:5000 registry # 3、打开浏览器 输入地址http://私有仓库服务器ip:5000/v2/_catalog&#xff0c;看到{"repositories&quo…

瑞熙贝通助力实验室原始记录无纸化管理

一、系统概述 随着互联网时代的发展&#xff0c;实验室管理信息化功能日趋完善&#xff0c;涉及维度也不断扩大&#xff0c;实现实验室原始记录的电子化和数字化&#xff0c;提高实验室工作质量和效率&#xff0c;是实验室发展大势所趋。在实验室信息管理系统得到日益广泛应用…

云计算:现代技术的基本要素

众所周知&#xff0c;在儿童教育的早期阶段&#xff0c;幼儿园都会传授塑造未来行为的一些基本准则。 今天&#xff0c;我们可以以类似的方式思考云计算&#xff1a;它已成为现代技术架构中的基本元素。云现在在数字交互、安全和基础设施开发中发挥着关键作用。云不仅仅是另一…

nodejs+vue+微信小程序+python+PHP的热带野生动物园景点预约订票系统的设计与实现-计算机毕业设计推荐

管理员是系统的管理者&#xff0c;拥有系统的所有权限&#xff0c;通过系统设定的账号和密码登录后对系统进行管理&#xff0c;包括密码修改、用户管理。新闻公告的管理、景点管理、订单管理。管理员登录中&#xff0c;通过用户的登录名和密码到热带野生动物园景点预约订票系统…

【数据结构】LRU缓存的简单模拟实现(leetcode力扣146LRU缓存)

文章目录 一、定义二、LRU模拟实现二、代码实现 一、定义 LRU是Least Recently Used的缩写&#xff0c;意思是最近最少使用&#xff0c;它是一种Cache替换算法。 Cache的容量有限&#xff0c;因此当Cache的容量用完后&#xff0c;而又有新的内容需要添加进来时&#xff0c; 就…