📅  最后修改于: 2023-12-03 15:27:47.540000             🧑  作者: Mango
EngineDB 是一个分布式 MySQL 数据库集群解决方案,由360公司开源。EngineDB 是基于 MySQL 构建的,它可以自动实现数据分片、数据复制、节点故障切换、数据强一致性等一系列分布式系统的基本功能,为运营企业级业务提供高可用、高性能的数据库解决方案。
本文将介绍如何获取 EngineDB MySQL,以及如何在本地部署和使用。
EngineDB MySQL 的源码可以在 GitHub 上获取,使用如下命令下载:
git clone https://github.com/EngineDB/EngineDB.git
获取源码之后,可以使用以下命令编译:
cd EngineDB
make
编译成功之后,在 build 目录下会生成 engine、engine_store、engine_proxy 等可执行文件,这些文件就是 EngineDB MySQL 的核心组件。
在使用 EngineDB MySQL 之前,需要先进行一些配置。配置文件位于源码目录下的 conf 目录中,主要包含 engine.cfg、engine_store.cfg、engine_proxy.cfg 三个文件。
engine.cfg 是 EngineDB MySQL 主节点的配置文件,其中包括主节点的 IP、端口、心跳间隔、最小同步间隔、最大同步间隔等信息。示例配置如下:
[node]
name = 0
[http]
port = 8000
[sync]
min_interval_ms = 1000
max_interval_ms = 5000
engine_store.cfg 是 EngineDB MySQL 存储节点的配置文件,其中包括存储节点的 IP、端口、存储路径等信息。示例配置如下:
[node]
name = 0
[http]
port = 9000
[store]
path = "/data/mysql/"
engine_proxy.cfg 是 EngineDB MySQL 代理节点的配置文件,其中包括代理节点的 IP、端口、主节点的 IP、端口等信息。示例配置如下:
[node]
name = 0
[http]
port = 7000
[proxy]
master_addr = "127.0.0.1:8000"
配置完成之后,可以启动 EngineDB MySQL。启动顺序为:存储节点 -> 代理节点 -> 主节点。
启动存储节点:
./build/engine_store -c conf/engine_store.cfg
启动代理节点:
./build/engine_proxy -c conf/engine_proxy.cfg
启动主节点:
./build/engine -c conf/engine.cfg
启动节点之后,可以使用 MySQL 客户端连接到 EngineDB MySQL。在使用之前,需要先创建数据库和表。示例 SQL:
create database test;
use test;
create table t1(id int primary key, name varchar(20));
创建完成之后,就可以进行插入、查询等操作了。示例 SQL:
insert into t1 values(1, "Tom");
select * from t1;
本文介绍了如何获取 EngineDB MySQL 的源码,并在本地部署和使用。具体包括下载源码、编译源码、配置文件、启动节点以及使用 MySQL 客户端。EngineDB MySQL 是一款优秀的分布式 MySQL 数据库,有着高可用、高性能的特点,可以为企业提供良好的数据库解决方案。