Skip to content

Commit 4550de7

Browse files
authored
Merge pull request #106 from NotHimmel/v1.17
update install guide for v1.17
2 parents 21e1061 + 5c4798d commit 4550de7

File tree

4 files changed

+578
-18
lines changed

4 files changed

+578
-18
lines changed

CN/modules/ROOT/pages/v1.17/3.adoc

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@
99

1010
==== 新用户指南
1111

12-
如果您刚开始接触IvorySQL,您可以访问我们的 https://docs.ivorysql.org/cn/ivorysql-doc/beta/beta/1[地址]来初步了解IvorySQL的各项特性。您同样可以前往我们的 https://github.com/IvorySQL/IvorySQL[Github]将我们的项目源代码下载到您的终端中。
13-
1412
如果您想快速安装IvorySQL并且进行一些数据库体验,您可以参考如下:
1513

1614
笔者的OS版本如下
@@ -28,18 +26,19 @@ Linux version 3.10.0-1160.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc v
2826
[highgo@ivorysql /]$ cd /home/highgo
2927
----
3028

31-
**使用git命令下载项目源代码**
29+
**使用wget命令下载项目源代码**
3230

3331
[source,]
3432
----
35-
[highgo@ivorysql ~]$ git clone https://github.com/IvorySQL/IvorySQL.git
33+
[highgo@ivorysql ~]$ wget https://github.com/IvorySQL/IvorySQL/archive/refs/tags/IvorySQL_1.17.tar.gz
34+
[highgo@ivorysql ~]$ tar -zxvf IvorySQL_1.17.tar.gz
3635
----
3736

3837
**进入下载好的项目目录中**
3938

4039
[source,]
4140
----
42-
[highgo@ivorysql ~]$ ls
41+
[highgo@ivorysql ~]$ mv IvorySQL-IvorySQL_1.17 IvorySQL; ls
4342
IvorySQL
4443
[highgo@ivorysql ~]$ cd IvorySQL/
4544
----

CN/modules/ROOT/pages/v1.17/6.adoc

Lines changed: 270 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55

66
= **安装部署**
77

8-
== 安装概述
8+
== CentOS安装概述
99

10-
本文介绍 Ivorysql 在Linux平台(以CentOS 7为例)的安装过程及注意事项。本文主要演示数据库在Centos 7环境下rpm包安装步骤、源码安装步骤。
10+
本文介绍 IvorySQL 在Linux平台(以CentOS 7为例)的安装过程及注意事项。本文主要演示数据库在Centos 7环境下rpm包安装步骤、源码安装步骤。
1111

1212
=== 软硬件要求
1313

@@ -85,7 +85,7 @@ sudo yum groupinstall -y 'Development Tools'
8585
git checkout tags/Ivory_REL_1_17
8686
./configure --prefix=/usr/local/ivorysql/ivorysql-1.17
8787
----
88-
> 说明: 由于没有提供 `--prefix`,默认安装在 `/usr/local/ivorysql`,故需要指定路径
88+
> 说明: 如果没有提供 `--prefix`,默认将安装在 `/usr/local/ivorysql`。
8989
>
9090
> 注意:我们要记住指定的目录,因为系统查不出已经编译安装的程序在哪。更多 configure 参数通过 `./configure --help` 查看。还可以查看 PostgreSQL 手册。
9191

@@ -177,7 +177,7 @@ firewall-cmd --reload
177177
host all all 0.0.0.0/0 trust
178178

179179

180-
> 注意:这里是trust,就是说可以免密登录
180+
> 注意:trust,设置免密登录
181181

182182
执行以下命令加载配置:
183183

@@ -270,4 +270,270 @@ mv /usr/lib/systemd/system/ivorysql.service /tmp/ --服务文件移到/tmp
270270
rm -fr /opt/IvorySQL-1.17 --删除残留安装目录
271271
```
272272

273+
> 说明:还有用户ivorysql以及对应的环境变量,可以根据情况是否清理。剩下的就是数据目录了,请务必做好备份再做处理。还有安装的依赖包,可根据情况决定是否卸载。
274+
275+
== Ubuntu安装概述
276+
277+
本文介绍 IvorySQL 在Linux平台Ubuntu(以Ubuntu2404为例)的安装过程及注意事项。演示数据库在Ubuntu 2404环境下deb包安装步骤、源码安装步骤。
278+
279+
=== 软硬件要求
280+
281+
==== 软件资源介绍
282+
283+
|====
284+
|操作系统|DEB包下载地址
285+
|Ubuntu 2404|https://github.com/IvorySQL/IvorySQL/releases
286+
|====
287+
288+
289+
==== 硬件资源准备
290+
|====
291+
|**配置参数**|**最低配置**|**推荐配置**
292+
|**CPU**|4核|16核
293+
|**内存**|4GB|64GB
294+
|**存储**|800MB,机械硬盘|5GB以上,SSD或NvMe
295+
|**网络**|千兆网络|万兆网络
296+
|====
297+
298+
=== 环境和配置检查
299+
300+
部署 IvorySQL 数据库前,您需要进行系统环境和配置检查
301+
302+
==== 查看资源
303+
304+
IvorySQL 数据库支持Ubuntu24.x操作系统。详细信息,参考<<#_软硬件要求>>
305+
306+
307+
==== 查看操作系统
308+
309+
**Ubuntu 24/22.0x**
310+
311+
运行以下命令,查看操作系统信息:
312+
313+
cat /etc/os-release
314+
315+
==== 查看内核参数
316+
317+
uname -r
318+
319+
=== 获取安装包
320+
321+
您可以通过源码安装IvorySQL数据库或DEB包安装。
322+
323+
==== 使用源码构建IvorySQL数据库
324+
325+
1.获取源代码:运行以下命令,克隆 IvorySQL 数据库源代码到您的构建机器:
326+
----
327+
git clone https://github.com/IvorySQL/IvorySQL.git
328+
----
329+
330+
> 注意:克隆代码需要先安装配置 Git。详细信息,参考 https://git-scm.com/doc[Git 文档]
331+
332+
333+
2.安装依赖包:要从源代码编译 IvorySQL,必须确保系统上有可用的先决条件包。 执行以下命令安装相关包:
334+
----
335+
sudo apt install -y bison-devel readline-devel zlib-devel openssl-devel wget
336+
sudo apt install -y gcc make flex bison
337+
----
338+
339+
3.自行编译安装:前面通过获取的源码在文件夹IvorySQL里,接下来我们就进入这个文件夹进行操作。
340+
341+
3.1 配置:Root用户执行以下命令进行配置:
342+
----
343+
git checkout tags/Ivory_REL_1_17
344+
./configure --prefix=/usr/local/ivorysql/ivorysql-1.17
345+
346+
----
347+
> 说明: 如果没有提供 `--prefix`,默认将安装在 `/usr/local/ivorysql`。
348+
>
349+
> 注意:我们要记住指定的目录,因为系统查不出已经编译安装的程序在哪。更多 configure 参数通过 `./configure --help` 查看。还可以查看 PostgreSQL 手册。
350+
351+
3.2 编译安装:配置完成后,执行 make 进行编译:
352+
353+
make
354+
355+
在安装新编译的服务之前,建议先进行回归测试以确保稳定性,可以使用以下任意命令执行测试:
356+
357+
----
358+
make check
359+
make all-check-world
360+
----
361+
362+
然后安装:
363+
364+
sudo make install
365+
366+
367+
==== 使用 DEB 包安装 IvorySQL 数据库
368+
369+
1. 运行以下命令,下载 IvorySQL 安装包。
370+
----
371+
wget https://github.com/IvorySQL/IvorySQL/releases/download/IvorySQL_1.17/IvorySQL-1.17-fde5539-20250326.amd64.deb
372+
----
373+
374+
> 注意:示例中的安装包可能不是最新版本,建议您下载最新的安装包。
375+
376+
2.运行以下命令,安装 IvorySQL 。
377+
----
378+
sudo apt install ./IvorySQL-1.17-fde5539-20250326.amd64.deb
379+
----
380+
381+
=== 初始化数据库服务
382+
383+
==== 初始化数据库
384+
385+
1. 创建操作系统用户:用户root会话下,新建用户 ivorysql:
386+
----
387+
/usr/sbin/groupadd ivorysql
388+
/usr/sbin/useradd -m -g ivorysql -s /bin/bash -c "IvorySQL1.17" ivorysql
389+
usermod -a -G sudo ivorysql
390+
passwd ivorysql
391+
392+
mkdir /home/ivorysql
393+
chown -R ivorysql:ivorysql /home/ivorysql
394+
chmod 755 /home/ivorysql
395+
----
396+
397+
398+
2.环境变量:切换到用户ivorysql,修改文件 `/home/ivorysql/.bashrc`,配置环境变量:
399+
----
400+
umask 022
401+
export LD_LIBRARY_PATH=/opt/IvorySQL-1.17/lib:$LD_LIBRARY_PATH
402+
export PATH=/opt/IvorySQL-1.17/bin:/usr/local/ivorysql/ivorysql-1.17/bin:$PATH #取决于安装路径
403+
export PGDATA=/home/ivorysql/data
404+
----
405+
406+
使环境变量在当前ivorysql用户会话中生效:
407+
408+
source .bashrc
409+
410+
也可以重新登录或开启一个新的用户ivorysql的会话。
411+
412+
3.设置防火墙:如果开启了防火墙,还需要将端口1521或者5432开放:
413+
----
414+
firewall-cmd --zone=public --add-port=1521/tcp --permanent
415+
firewall-cmd --reload
416+
----
417+
418+
> 说明:默认端口是1521,外部客户端若想通过此端口连接需开放该端口。
419+
420+
4.初始化:在用户ivorysql下,简单执行initdb就可以完成初始化:
421+
422+
initdb -D $PGDATA
423+
424+
425+
> 说明:initdb操作与PostgreSQL一样,可以按照PG的习惯去初始化。
426+
427+
5.启动数据库:使用pg_ctl启动数据库服务:
428+
429+
pg_ctl -D $PGDATA -l logfile start
430+
431+
查看状态:
432+
433+
pg_ctl -D $PGDATA status
434+
435+
启动成功会有如下输出:
436+
437+
pg_ctl: server is running (PID: 2273)
438+
439+
=== 配置服务
440+
441+
1. 客户端验证:修改 $PGDATA/pg_hba.conf,追加以下内容:
442+
443+
host all all 0.0.0.0/0 trust
444+
445+
446+
> 注意:trust,设置免密登录。
447+
448+
监听地址:修改$PGDATA/postgresql.conf ,追加以下内容:
449+
450+
listen_addresses = '*'
451+
452+
> 说明:默认是监听在127.0.0.1,主机外是连不上服务的。
453+
454+
执行以下命令加载配置:
455+
456+
pg_ctl reload
457+
458+
2.连接数据库
459+
460+
通过psql连接数据库:
461+
462+
psql
463+
464+
3.守护服务
465+
466+
创建service文件:
467+
468+
sudo vi /etc/systemd/system/ivorysql.service
469+
470+
编辑内容如下:
471+
----
472+
[Unit]
473+
Description=IvorySQL 1.17 database server
474+
Documentation=https://www.ivorysql.org
475+
Requires=network.target local-fs.target
476+
After=network.target local-fs.target
477+
478+
[Service]
479+
Type=forking
480+
481+
User=ivorysql
482+
Group=ivorysql
483+
484+
Environment=PGDATA=/home/ivorysql/data
485+
486+
OOMScoreAdjust=-1000
487+
488+
ExecStart=/usr/local/ivorysql/ivorysql-1.17/bin/pg_ctl start -D ${PGDATA}
489+
ExecStop=/usr/local/ivorysql/ivorysql-1.17/bin/pg_ctl stop -D ${PGDATA}
490+
ExecReload=/usr/local/ivorysql/ivorysql-1.17/bin/pg_ctl reload -D ${PGDATA}
491+
492+
TimeoutSec=0
493+
494+
[Install]
495+
WantedBy=multi-user.target
496+
497+
----
498+
499+
> 说明:service的写法有很多,在生产环境使用时需谨慎,请多次重复测试。
500+
501+
停止pg_ctl启动的数据库服务,启用systemd服务并启动:
502+
503+
systemctl enable --now ivorysql.service
504+
505+
IvorSQL数据库服务操作命令:
506+
----
507+
systemctl start ivorysql.service --启动数据库服务
508+
systemctl stop ivorysql.service --停止数据库服务
509+
systemctl restart ivorysql.service --重启数据库
510+
systemctl status ivorysql.service --查看数据库状态
511+
systemctl reload ivorysql.service --可以满足部分数据库配置修改完后生效
512+
----
513+
514+
=== 卸载 IvorySQL 数据库
515+
516+
==== 编译卸载
517+
518+
1.备份数据:我们需要将数据目录保护好,最好停止数据库服务后做备份。
519+
520+
```
521+
systemctl stop ivorysql.service
522+
```
523+
524+
2.编译卸载:root会话下切到源码目录下,分别执行以下命令:
525+
526+
```
527+
make uninstall
528+
make clean
529+
```
530+
531+
3.删除残余目录和文件:
532+
533+
```
534+
systemctl disable ivorysql.service --禁用服务
535+
mv /usr/lib/systemd/system/ivorysql.service /tmp/ --服务文件移到/tmp
536+
rm -fr /usr/local/ivorysql/ivorysql-1.17 --删除残留安装目录
537+
```
538+
273539
> 说明:还有用户ivorysql以及对应的环境变量,可以根据情况是否清理。剩下的就是数据目录了,请务必做好备份再做处理。还有安装的依赖包,可根据情况决定是否卸载。

EN/modules/ROOT/pages/v1.17/3.adoc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@
99

1010
==== Beginners
1111

12-
If you are new to IvorySQL, you can click https://deploy-preview-83--ivorysql.netlify.app/zh-CN/[here] to learn about features of IvorySQL in the beginning.Also, you can download our source code through [Github](https://github.com/IvorySQL/IvorySQL).By the way, don't forget to give our IvorySQL community a star.
13-
1412
You can refer to the following contents to install IvorySQL quickly.
1513

1614
OS version of the demo:
@@ -30,7 +28,9 @@ Linux version 3.10.0-1160.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc v
3028
**Getting the source**
3129
[source,]
3230
----
33-
[highgo@ivorysql ~]$ ls
31+
[highgo@ivorysql ~]$ wget https://github.com/IvorySQL/IvorySQL/archive/refs/tags/IvorySQL_1.17.tar.gz
32+
[highgo@ivorysql ~]$ tar -zxvf IvorySQL_1.17.tar.gz
33+
[highgo@ivorysql ~]$ mv IvorySQL-IvorySQL_1.17 IvorySQL; ls
3434
IvorySQL
3535
[highgo@ivorysql ~]$ cd IvorySQL/
3636
----

0 commit comments

Comments
 (0)