📜  获取 enginge db mysql (1)

📅  最后修改于: 2023-12-03 15:27:47.540000             🧑  作者: Mango

获取 EngineDB MySQL

简介

EngineDB 是一个分布式 MySQL 数据库集群解决方案,由360公司开源。EngineDB 是基于 MySQL 构建的,它可以自动实现数据分片、数据复制、节点故障切换、数据强一致性等一系列分布式系统的基本功能,为运营企业级业务提供高可用、高性能的数据库解决方案。

本文将介绍如何获取 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

engine.cfg 是 EngineDB MySQL 主节点的配置文件,其中包括主节点的 IP、端口、心跳间隔、最小同步间隔、最大同步间隔等信息。示例配置如下:

[node]
name = 0

[http]
port = 8000

[sync]
min_interval_ms = 1000
max_interval_ms = 5000

engine_store.cfg

engine_store.cfg 是 EngineDB MySQL 存储节点的配置文件,其中包括存储节点的 IP、端口、存储路径等信息。示例配置如下:

[node]
name = 0

[http]
port = 9000

[store]
path = "/data/mysql/"

engine_proxy.cfg

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 客户端

启动节点之后,可以使用 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 数据库,有着高可用、高性能的特点,可以为企业提供良好的数据库解决方案。