[转帖]IvorySQL--Linux环境源码编译安装

ivorysql,linux,环境,源码,编译,安装 · 浏览次数 : 0

小编点评

**编译和安装 IvorySQL 的步骤:** **1. 下载源代码** * 从 GitHub 或 gitee 上下载 IvorySQL 的源代码: * Windows:`git clone > https://github.com/IvorySQL/IvorySQL.git` * Linux/macOS:`git clone > https://gitee.com/IvorySQL/IvorySQL.git` **2. 配置环境** * 在 `IvorySQL/1.2` 文件中配置您的 PostgreSQL 数据库路径。 * 创建一个名为 `ivorysql.service` 的系统服务文件,指定数据库路径。 **3. 创建数据库服务文件** * 创建一个名为 `ivorysql.service` 的系统服务文件,指定数据库路径。 **4. 启动数据库服务** * 使用 `systemctl enable --now ivorysql.service` 命令启用数据库服务。 * 使用 `systemctl start ivorysql.service` 命令启动数据库服务。 **5. 连接到数据库** * 运行 `psqlpsql` 命令连接到您的数据库服务器。 * 使用 `psql` 命令连接到 IvorySQL 数据库。 **6. 卸载 IvorySQL** * 使用 `make uninstall` 命令编译卸载 IvorySQL。 * 清除所有残留安装文件,包括数据库数据。 **7. 后记** * 参考 `README.md` 文件中的文档,以更细化的方式操作 IvorySQL。 * 可以参考 GitHub 的官方文档:`github.com/IvorySQL/IvorySQL` 中的 `README.md` 文件。 * 可以访问 IvorySQL 的官方社区仓库:`github.com/IvorySQL/IvorySQL` 中的 `README.md` 文件。

正文

https://www.ivorysql.org/zh-CN/blog/IvorySQL-Linux

 

 

IvorySQL可以在Linux, OSX, Unix和Windows平台上构建,与PostgreSQL的编译安装基本上是一样的。本文对基于Linux的系统上编译源代码的步骤进行说明。

一、准备工作

1.1 获取 IvorySQL 源码

Windows或Linux,只要安装了git,都可以使用git下载:

git clone https://github.com/IvorySQL/IvorySQL.git

git clone https://gitee.com/IvorySQL/IvorySQL.git

或者直接去github或gitee下载都可以:

https://github.com/IvorySQL/IvorySQL

https://gitee.com/IvorySQL/IvorySQL

github会有点慢,能用则用,不行就改用gitee。

截至本稿,IvorySQL的最新发布版本是1.2,于2022年2月28日发布。

L

本文使用的源码版本也是IvorySQL 1.2。

1.2 安装依赖包

要从源代码编译IvorySQL,必须确保系统上有可用的先决条件包。 执行以下命令安装相关包:

sudo yum install -y bison-devel readline-devel zlib-devel openssl-devel wget
sudo yum groupinstall -y 'Development Tools'

说明:“Development Tools”包含了gcc,make,flex,bison。

二、编译安装

前面通过获取的源码在文件夹IvorySQL里,接下来我们就进入这个文件夹进行操作。

2.1 配置

Root用户执行以下命令进行配置:

./configure

说明:由于没有提供--prefix,默认安装在/usr/local/pgsql。

指定安装路径,如“/usr/local/ivorysql/ivorysql-1.2”:

./configure --prefix=/usr/local/ivorysql/ivorysql-1.2

注意:我们要记住指定的目录,因为系统查不出已经编译安装的程序在哪。

更多configure参数通过“./configure --help”查看。还可以查看PostgreSQL手册。

2.2 编译安装

配置完成后,执行make进行编译:

make

要在安装新编译的服务之前使用回归测试测试一下,以下命令均可:

make check
make check-world

然后安装:

make install

三、初始化数据库服务

我们这里只是简单配置一下,能本地和远程连接就可以了。

3.1 创建操作系统用户

用户root会话下,新建用户 ivorysql:

/usr/sbin/groupadd ivorysql
/usr/sbin/useradd -g ivorysql ivorysql -c "IvorySQL1.2 Server"
passwd ivorysql

3.2 创建数据目录

接下来需要创建数据目录并修改权限。在root会话下执行以下命令。

mkdir -p /ivorysql/1.2/data
chown -R ivorysql.ivorysql /ivorysql/1.2/

注意:这里没按RPM安装将数据目录放置到“/var/lib/ivorysql/ivorysql-1/data”。

3.3 环境变量

切换到用户ivorysql,修改文件“/home/ ivorysql /.bash_profile”,配置环境变量:

umask 022
export LD_LIBRARY_PATH=/usr/local/pgsql/lib:$LD_LIBRARY_PATH
export PATH=/usr/local/pgsql/bin:$PATH
export PGDATA=/ivorysql/1.2/data

使环境变量在当前ivorysql用户会话中生效:

source .bash_profile

也可以重新登录或开启一个新的用户ivorysql的会话。

3.4 设置防火墙

如果开启了防火墙,还需要将端口5333开放:

firewall-cmd --zone=public --add-port=5333/tcp --permanent
firewall-cmd --reload

说明:默认端口是5333,如果不开放该端口,外部客户端通过ip连接会失败。

3.5 初始化

在用户ivorysql下,简单执行initdb就可以完成初始化:

initdb

说明:initdb操作与PostgreSQL一样,可以按照PG的习惯去初始化。

3.6 启动数据库

使用pg_ctl启动数据库服务:

pg_ctl start

查看状态,启动成功:

pg_ctl status

pg_ctl: server is running (PID: 29549)

/usr/local/pgsql/bin/postgres

四、配置服务

这里只是简单配置一下,能本地和远程连接就可以了

4.1 客户端验证

修改 /ivorysql/1.2/data/pg_hba.conf,追加以下内容:

host    all             all             0.0.0.0/0               trust

注意:这里是trust,就是说可以免密登录。

执行以下命令加载配置:

pg_ctl reload

4.2 基本参数

通过psql连接数据库:

psql

修改监听地址:

alter system set listen_addresses = '*';

说明:默认是监听在127.0.0.1,主机外是连不上服务的。

重启服务使设置生效:

pg_ctl restart

4.3 守护服务

创建service文件:

touch /usr/lib/systemd/system/ivorysql.service

编辑内容如下:

[Unit]
Description=IvorySQL 1.2 database server
Documentation=https://www.ivorysql.org
Requires=network.target local-fs.target
After=network.target local-fs.target

[Service]
Type=forking

User=ivorysql
Group=ivorysql

Environment=PGDATA=/ivorysql/1.2/data/

OOMScoreAdjust=-1000

ExecStart=/usr/local/pgsql/bin/pg_ctl start -D ${PGDATA}
ExecStop=/usr/local/pgsql/bin/pg_ctl stop -D ${PGDATA}
ExecReload=/usr/local/pgsql/bin/pg_ctl reload -D ${PGDATA}

TimeoutSec=0

[Install]
WantedBy=multi-user.target

说明:service的写法有很多,在生产环境使用时需谨慎,请多次重复测试。

停止pg_ctl启动的数据库服务,启用systemd服务并启动:

systemctl enable --now ivorysql.service

IvorSQL数据库服务操作命令:

systemctl start ivorysql.service            --启动数据库服务
systemctl stop ivorysql.service --停止数据库服务
systemctl restart ivorysql.service --重启数据库
systemctl status ivorysql.service --查看数据库状态
systemctl reload ivorysql.service --可以满足部分数据库配置修改完后生效

五、客户端链接数据库

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

5.1 psql 连接

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

[ivorysql@Node02 ~]$ psql
psql (15devel)
Type "help" for help.

ivorysql=#

5.2 DBeaver 连接

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

L

5.3 瀚高 developer 连接

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

L

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

六、卸载

编译安装就用编译卸载的方式卸载。

6.1 备份数据

数据目录在“/ivorysql/1.2/data”下,所以我们将该目录保护好就可以,最好停止数据库服务后做备份。

6.2 编译卸载

Root会话下切到源码目录下,分别执行以下命令:

make uninstall
make clean

删除残余目录和文件:

systemctl disable ivorysql.servicemake                  --禁用服务
mv /usr/lib/systemd/system/ivorysql.service /tmp/ --服务文件移到/tmp,删除也可以
rm -fr /usr/local/pgsql --删除残留安装目录

还有用户ivorysql以及对应的环境变量,可以根据情况是否清理。

剩下的就是数据目录“/ivorysql/1.2/data”了,请务必做好备份再做处理。

还有安装的依赖包,可根据情况决定是否卸载。

七、后记

  • 更细化的操作,可参照PostgreSQL的相关内容。

  • 大家还可以参考IvorySQL源码下自带文档:/root/IvorySQL/README.md。

  • 也可以打开网站链接:https://gitee.com/IvorySQL/IvorySQL/blob/master/README.md。

  • 有任何问题,欢迎大家到IvorySQL官方社区仓库:github.com/IvorySQL/IvorySQL 提交issue。

关于IvorySQL

IvorySQL项目是一个具有广泛生态基础和中国特色的PG开源衍生项目,是瀚高公司设计研发的一款具备强大Oracle兼容能力的开源数据库。具备高兼容性和高可用性,并致力于遵守open-source ways。

社区仓库:github.com/IvorySQL/IvorySQL

CSDN: IvorySQL

开源中国:IvorySQL

墨天轮:IvorySQL

通过订阅邮件列表加入IvorySQL社区:

与[转帖]IvorySQL--Linux环境源码编译安装相似的内容:

[转帖]IvorySQL--Linux环境源码编译安装

https://www.ivorysql.org/zh-CN/blog/IvorySQL-Linux IvorySQL可以在Linux, OSX, Unix和Windows平台上构建,与PostgreSQL的编译安装基本上是一样的。本文对基于Linux的系统上编译源代码的步骤进行说明。 一、准备工作

[转帖]IvorySQL

https://www.modb.pro/wiki/2713 简介:IvorySQL 是先进的、功能齐全的开源 兼容 Oracle的PostgreSQL数据库,并坚定地承诺始终保持 100% 兼容并直接替换最新的 PostgreSQL。IvorySQL 添加了一个“compatible_db”切换开

[转帖]墨天轮访谈 | IvorySQL王志斌—IvorySQL,一个基于PostgreSQL的兼容Oracle的开源数据库

https://zhuanlan.zhihu.com/p/532842415 分享嘉宾:王志斌 瀚高IvorySQL产品经理整理:墨天轮社区 导读 大家好,我是瀚高IvorySQL产品经理王志斌,IvorySQL是基于PostgreSQL的衍生开源项目。 我今天分享的内容主要分为三个部分:我们是谁?

[转帖]Docker 容器运行 ivorysql 之体验

当下容器运行应用已经越来越火,只要主机上能运行 Docker,就可以通过镜像来运行应用,不需要考虑环境是否满足应用的运行条件。今天就给大家分享一下使用镜像运行 ivorysql 数据库。如果你容器运行过 postgresql,那就比较容易上手了,几乎是一样的体验,稍微有点差别,后面会说明。 友情提示

[转帖]

Linux ubuntu20.04 网络配置(图文教程) 因为我是刚装好的最小系统,所以很多东西都没有,在开始配置之前需要做下准备 环境准备 系统:ubuntu20.04网卡:双网卡 网卡一:供连接互联网使用网卡二:供连接内网使用(看情况,如果一张网卡足够,没必要做第二张网卡) 工具: net-to

[转帖]

https://cloud.tencent.com/developer/article/2168105?areaSource=104001.13&traceId=zcVNsKTUApF9rNJSkcCbB 前言 Redis作为高性能的内存数据库,在大数据量的情况下也会遇到性能瓶颈,日常开发中只有时刻

[转帖]ISV 、OSV、 SIG 概念

ISV 、OSV、 SIG 概念 2022-10-14 12:29530原创大杂烩 本文链接:https://www.cndba.cn/dave/article/108699 1. ISV: Independent Software Vendors “独立软件开发商”,特指专门从事软件的开发、生产、

[转帖]Redis 7 参数 修改 说明

2022-06-16 14:491800原创Redis 本文链接:https://www.cndba.cn/dave/article/108066 在之前的博客我们介绍了Redis 7 的安装和配置,如下: Linux 7.8 平台 Redis 7 安装并配置开机自启动 操作手册https://ww

[转帖]HTTPS中间人攻击原理

https://www.zhihu.com/people/bei-ji-85/posts 背景 前一段时间,公司北京地区上线了一个HTTPS防火墙,用来监听HTTPS流量。防火墙上线之前,邮件通知给管理层,我从我老大那里听说这个事情的时候,说这个有风险,然后意外地发现,很多人原来都不知道HTTPS防

[转帖]关于字节序(大小端)的一点想法

https://www.zhihu.com/people/bei-ji-85/posts 今天在一个技术群里有人问起来了,当时有一些讨论(不完全都是我个人的观点),整理一下: 为什么网络字节序(多数情况下)是大端? 早年设备的缓存很小,先接收高字节能快速的判断报文信息:包长度(需要准备多大缓存)、地