centos 安装clickhouse 并导入mysql数据
一.安装clickhouse
1. 系统要求
ClickHouse可以在任何具有x86_64,AArch64或PowerPC64LE CPU架构的Linux,FreeBSD或Mac OS X上运行。
官方预构建的二进制文件通常针对x86_64进行编译,并利用SSE 4.2
指令集,因此,除非另有说明,支持它的CPU使用将成为额外的系统需求。下面是检查当前CPU是否支持SSE 4.2的命令:
1 | $ grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 not supported" |
2.可用安装包
这里仅介绍RPM安装包,其他方式请查看clickhouse中文文档 https://clickhouse.com/docs/zh/
-
RPM
安装包
推荐使用CentOS、RedHat和所有其他基于rpm的Linux发行版的官方预编译rpm
包。
首先,您需要添加官方存储库:
1 2 3 | sudo yum install -y yum-utils sudo yum-config-manager --add-repo https: //packages.clickhouse.com/rpm/clickhouse.repo sudo yum install -y clickhouse-server clickhouse-client |
3.启动
1 | sudo /etc/init.d/clickhouse-server start |
4.启动服务后,您可以使用命令行客户端连接到它:
1 | $ clickhouse-client |
默认情况下,使用default
用户并不携带密码连接到localhost:9000
。还可以使用--host
参数连接到指定服务器。终端必须使用UTF-8编码。
安装完毕
二.导入mysql表数据
1.语法规则
引擎定义
1 2 3 4 5 6 7 | CREATE TABLE [IF NOT EXISTS] [db.]table_name [ ON CLUSTER cluster] ( name1 [type1] [ DEFAULT |MATERIALIZED|ALIAS expr1] [TTL expr1], name2 [type2] [ DEFAULT |MATERIALIZED|ALIAS expr2] [TTL expr2], ... ) ENGINE = MySQL( 'host:port' , 'database' , 'table' , 'user' , 'password' [, replace_query, 'on_duplicate_clause' ]); |
参数含义:
1 2 3 4 5 6 7 | host: port表示MySQL的地址和端⼝。 database 表示数据库的名称。 table 表示需要映射的表名称。 user 表示MySQL的⽤户名。 password 表示MySQL的密码。 replace_query默认为0,对应MySQL的 REPLACE INTO 语法。如果将它设置为1,则会⽤ REPLACE INTO 代替 INSERT INTO 。 on_duplicate_clause默认为0,对应MySQL的 ON DUPLICATE KEY 语法。如果需要使⽤该设置,则必须将replace_query设置成0。 |
1 2 3 4 5 6 | create table users( `id` UInt32, ` name ` String, ` date ` DateTime ) ENGINE = MySQL( '192.168.0.11:3306' , 'test' , 'users' , 'root' , 'root' ); |
创建一个表结构相同,引擎不同的表
1 | create table zqm_user as users ENGINE = MergeTree order by id; |
使用查询结果插入数据
1 | insert into zqm_user select * from users; |
验证插入数据
1 | select count () from zqm_user |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义