安装部署
1. 安装概述
本文介绍 Ivorysql 在Linux平台(以CentOS 7为例)的安装过程及注意事项。本文主要演示数据库在Centos 7环境下rpm包安装步骤、源码安装步骤。
1.2. 环境和配置检查
部署 IvorySQL 数据库前,您需要进行系统环境和配置检查
1.2.1. 查看资源
IvorySQL 数据库支持CentOS 7.X操作系统。详细信息,参考[_软硬件要求]
1.3. 获取安装包
您可以通过 源码安装 IvorySQL 数据库或 RPM 包安装。
1.3.1. 使用源码构建IvorySQL数据库
1.获取源代码:运行以下命令,克隆 IvorySQL 数据库源代码到您的构建机器:
git clone https://github.com/IvorySQL/IvorySQL.git
注意:克隆代码需要先安装配置 Git。详细信息,参考 Git 文档
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。
3.自行编译安装:前面通过获取的源码在文件夹IvorySQL里,接下来我们就进入这个文件夹进行操作。
3.1 配置:Root用户执行以下命令进行配置:
git checkout tags/Ivory_REL_1_8
./configure --prefix=/usr/local/ivorysql/ivorysql-1.8
说明: 由于没有提供
--prefix,默认安装在/usr/local/ivorysql,故需要指定路径。注意:我们要记住指定的目录,因为系统查不出已经编译安装的程序在哪。更多 configure 参数通过
./configure --help查看。还可以查看 PostgreSQL 手册。
3.2 编译安装:配置完成后,执行 make 进行编译:
make
要在安装新编译的服务之前使用回归测试测试一下,以下命令均可:
make check
make all-check-world
然后安装:
sudo make install
1.3.2. 使用 RPM 包安装 IvorySql 数据库
-
运行以下命令,下载 IvorySQL 安装包。
wget https://github.com/IvorySQL/IvorySQL/releases/download/Ivory_REL_1_8/ivorysql1-1.8-1.el7.x86_64.rpm
注意:示例中的安装包可能不是最新版本,建议您下载最新的安装包。
2.运行以下命令,安装 IvorySQL 。
-- 先安装依赖
yum install -y libicu libxslt python3
rpm -ivh ivorysql1-1.8-1.el7.x86_64.rpm
1.4. 初始化数据库服务
1.4.1. 初始化数据库
-
创建操作系统用户:用户root会话下,新建用户 ivorysql:
/usr/sbin/groupadd ivorysql
/usr/sbin/useradd -g ivorysql ivorysql -c "IvorySQL1.8"
passwd ivorysql
2.环境变量:切换到用户ivorysql,修改文件 /home/ivorysql/.bash_profile,配置环境变量:
umask 022
export LD_LIBRARY_PATH=/opt/IvorySQL-1.8/lib:$LD_LIBRARY_PATH
export PATH=/opt/IvorySQL-1.8/bin:$PATH
export PGDATA=/home/ivorysql/data
使环境变量在当前ivorysql用户会话中生效:
source .bash_profile
也可以重新登录或开启一个新的用户ivorysql的会话。
3.设置防火墙:如果开启了防火墙,还需要将端口1521或者5432开放:
firewall-cmd --zone=public --add-port=1521/tcp --permanent
firewall-cmd --reload
说明:默认端口是1521,如果不开放该端口,外部客户端通过ip连接会失败。
4.初始化:在用户ivorysql下,简单执行initdb就可以完成初始化:
initdb
说明:initdb操作与PostgreSQL一样,可以按照PG的习惯去初始化。
5.启动数据库:使用pg_ctl启动数据库服务:
pg_ctl start
查看状态,启动成功:
pg_ctl status
1.5. 配置服务
-
客户端验证:修改 /home/ivorysql/data/pg_hba.conf,追加以下内容:
host all all 0.0.0.0/0 trust
注意:这里是trust,就是说可以免密登录。
执行以下命令加载配置:
pg_ctl reload
2.基本参数
通过psql连接数据库:
psql
修改监听地址
alter system set listen_address = '*';
说明:默认是监听在127.0.0.1,主机外是连不上服务的。
3.守护服务
创建service文件:
touch /usr/lib/systemd/system/ivorysql.service
编辑内容如下:
[Unit]
Description=IvorySQL 1.8 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=/home/ivorysql/data
OOMScoreAdjust=-1000
ExecStart=/opt/IvorySQL-1.8/bin/pg_ctl start -D ${PGDATA}
ExecStop=/opt/IvorySQL-1.8/bin/pg_ctl stop -D ${PGDATA}
ExecReload=/opt/IvorySQL-1.8/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 --可以满足部分数据库配置修改完后生效
1.6. 卸载 IvorySQL 数据库
1.6.1. 编译卸载
1.备份数据:我们需要将数据目录保护好,最好停止数据库服务后做备份。
systemctl stop ivorysql.service
2.编译卸载:root会话下切到源码目录下,分别执行以下命令:
make uninstall
make clean
3.删除残余目录和文件:
systemctl disable ivorysql.servicemake --禁用服务
mv /usr/lib/systemd/system/ivorysql.service /tmp/ --服务文件移到/tmp,删除也可以
rm -fr /opt/IvorySQL-1.8 --删除残留安装目录
说明:还有用户ivorysql以及对应的环境变量,可以根据情况是否清理。剩下的就是数据目录了,请务必做好备份再做处理。还有安装的依赖包,可根据情况决定是否卸载。