1. 入门IvorySQL

1.1. 入门指南

1.1.1. 新用户指南

如果您刚开始接触IvorySQL,您可以访问我们的 地址来初步了解IvorySQL的各项特性。您同样可以前往我们的 Github将我们的项目源代码下载到您的终端中。

如果您想快速安装IvorySQL并且进行一些数据库体验,您可以参考如下:

笔者的OS版本如下

[highgo@ivorysql ~]$ cat /proc/version
Linux version 3.10.0-1160.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ) #1 SMP Mon Oct 19 16:18:59 UTC 2020

进入用户目录

[highgo@ivorysql /]$ cd /home/highgo

使用git命令下载项目源代码

[highgo@ivorysql ~]$ git clone https://github.com/IvorySQL/IvorySQL.git

进入下载好的项目目录中

[highgo@ivorysql ~]$ ls
IvorySQL
[highgo@ivorysql ~]$ cd IvorySQL/

编译

[highgo@ivorysql IvorySQL]$ ./configure --prefix=/home/highgo

prefix参数可以帮助您设置项目安装位置,如果您想默认安装,直接执行./configure即可,项目会默认安装至/usr/local/pgsql目录下,其余参数设置可以参考 手册

如果安装过程中,提示您缺少依赖,您可以使用yum命令安装对应依赖即可 以下的依赖是必需的

GNU Make(版本3.80以上)
GCC
readline、readline-develop
zlib

安装

[highgo@ivorysql ~]$ ls
bin  include  IvorySQL  lib  share

修改环境变量

[highgo@ivorysql ~]$ vi .bash_profile
PATH=/home/highgo/bin:$PATH
export PATH
LD_LIBRARY_PATH=/usr/local/pgsql/lib
export LD_LIBRARY_PATH

使得改动生效

[highgo@ivorysql ~]$ source .bash_profile

初始化数据库

[highgo@ivorysql ~]$ initdb -D data //data是您初始化的数据库名字,可以凭个人喜好设置

开启数据库服务

[highgo@ivorysql ~]$ pg_ctl -D data -l logfile start

连接数据库

[highgo@ivorysql ~]$ psql -d postgres
psql (16devel)
Type "help" for help.

postgres=#
//出现上面的信息,则说明IvorySQL已经安装成功,您可以输入SQL语句进行体验以及学习。

1.1.2. 开发者指南

开发者更关注的问题是:如何最快地下载,安装并接入数据库,关于下载安装请参考第四部分【安装部署】,以下介绍客户端如何接入数据库

连接IvorySQL数据库服务的客户端工具和PostgreSQL的一样。

1.1.2.1. psql连接

操作系统用户ivorysql会话下连接:

undefined
[root@localhost ~]# su - ivorysql
Last login: Wed Feb 24 10:47:32 CST 2023 on pts/0
-bash-4.2$ psql
psql (14.2)
Type "help" for help.

ivorysql=#
1.1.2.2. DBeaver连接

DBeaver是一个功能比较强大的开源工具,连接配置如下:

p1
1.1.2.3. 瀚高developer连接

瀚高developer是瀚高自主研发的一个工具,除了可以支持瀚高数据库,还支持PostgreSQL以及IvorySQL数据库。连接配置如下:

p2

如果想使用该工具,请关注公众号加入微信群“IvorySQL中国技术交流群”咨询。

1.2. 快速体验

1.2.1. 单机模拟部署

1.2.1.1. 单机安装

环境:CentOS 7.X

安装包:rpm

下载YUM源:在Centos7上使用wget下载

安装源

yum install ivorysql-release-1.0-2.noarch.rpm

安装库

yum install -y ivorysql2-server

初始化单机数据库

cd /usr/local/ivorysql/ivorysql-2/bin
./initdb -D ../data
1.2.1.2. 集群安装(一主一备)

环境:CentOS 7.X

安装包:rpm

下载YUM源:在Centos7上使用wget下载

安装源

yum install ivorysql-release-1.0-2.noarch.rpm

安装库

yum install -y ivorysql2-server

主节点

初始化主节点

cd /usr/local/ivorysql/ivorysql-2/bin
./initdb ../data-primary -U postgres

启动服务,创建用户

ALTER USER postgres WITH PASSWORD '123456';
CREATE ROLE repl WITH PASSWORD '123456' REPLICATION LOGIN;

配置pg_hba.conf

host    all             all             0.0.0.0/0            trust
host    replication     all             0.0.0.0/0            trust

重启服务

备节点

1、 基础备份

cd /usr/local/ivorysql/ivorysql-2/bin
./pg_basebackup -h 127.0.0.1 -p 5333 -U repl -W -Fp -Xs -Pv -R -D ../data-standby01

2、 修改端口(同一服务器实验,需要先修改postgresql.conf的端口)

vi ../data-standby01/postgresql.conf

    port = 5334

3、 启动备库

1.2.2. 部署本地集群

主节点

环境:CentOS 7.X

安装包:rpm

下载YUM源:在Centos7上使用wget下载

安装源

yum install ivorysql-release-1.0-2.noarch.rpm

安装库

yum install -y ivorysql2-server

初始化主节点

cd /usr/local/ivorysql/ivorysql-2/bin
./initdb ../data-primary -U postgres

启动服务,创建用户

./psql -U postgres -d postgres -p 5333
ALTER USER postgres WITH PASSWORD '123456';
CREATE ROLE repl WITH PASSWORD '123456' REPLICATION LOGIN;

修改postgres.conf

listen_addresses = '*'

port = 5333
max_connections = 100
unix_socket_directories = '/tmp'

配置pg_hba.conf

shell
host    all             all             0.0.0.0/0            trust
host    replication     all             0.0.0.0/0            trust

重启服务

备节点

环境:CentOS 7.X

安装包:rpm

下载YUM源:在Centos7上使用wget下载

安装源

yum install ivorysql-release-1.0-2.noarch.rpm

安装库

yum install -y ivorysql2-server

1、 基础备份

cd /usr/local/ivorysql/ivorysql-2/bin
./pg_basebackup -h 192.168.xx.xx -p 5333 -U repl -W -Fp -Xs -Pv -R -D ../data-standby01

2、 启动备库