安装指南
2. yum源安装
-
执行dnf命令
$ sudo dnf install -y https://yum.highgo.ca/dists/ivorysql-rpms/repo/ivorysql-release-3.0-1.noarch.rpm
$ sudo dnf install -y ivorysql3 ivorysql3-server ivorysql3-contrib ivorysql3-test --skip-broken --nogpgcheck
安装完毕将创建yum源配置文件/etc/yum.repos.d/ivorysql.repo。
-
查看安装结果
dnf search ivorysql
查看结果说明如下:
序号 |
包名 |
描述 |
1 |
ivorysql3.x86_64 |
IvorySQL客户端程序和库文件 |
2 |
ivorysql3-contrib.x86_64 |
随IvorySQL发布的已贡献的源代码和二进制文件 |
3 |
Ivorysql3-devel.x86_64 |
IvorySQL开发头文件和库 |
4 |
Ivorysql3-docs.x86_64 |
IvorySQL的额外文档 |
5 |
ivorysql3-libs.x86_64 |
所有IvorySQL客户端所需的共享库 |
6 |
Ivorysql3-llvmjit.x86_64 |
对IvorySQL的即时编译支持 |
7 |
Ivorysql3-plperl.x86_64 |
用于IvorySQL的过程语言Perl |
8 |
Ivorysql3-plpython3.x86_64 |
用于IvorySQL的过程语言Python3 |
9 |
Ivorysql3-pltcl.x86_64 |
用于IvorySQL的过程语言Tcl |
10 |
ivorysql3-server.x86_64 |
创建和运行IvorySQL服务器所需的程序 |
11 |
Ivorysql3-test.x86_64 |
随IvorySQL发布的测试套件 |
12 |
ivorysql-release.noarch |
瀚高基础软件股份有限公司的Yum源配置RPM包 |
3. docker安装
-
从Docker Hub上获取IvorySQL镜像
$ docker pull ivorysql/ivorysql:3.4-ubi8
-
运行IvorySQL
$ docker run --name ivorysql -p 5434:5432 -e IVORYSQL_PASSWORD=your_password -d ivorysql/ivorysql:3.4-ubi8
-e参数说明
参数名 |
是否必填 |
描述 |
IVORYSQL_USER |
否 |
数据库用户,默认 ivorysql |
IVORYSQL_PASSWORD |
是 |
数据库用户密码 |
IVORYSQL_DB |
否 |
数据库名称,默认 ivorysql |
POSTGRES_HOST_AUTH_METHOD |
否 |
修改主机身份验证方式,参考值:md5 |
POSTGRES_INITDB_ARGS |
否 |
为initdb是添加额外参数,参考值:"--data-checksums" |
PGDATA |
否 |
将数据目录定义到其他路径文件夹下(例如子目录),默认 /var/lib/ivorysql/data |
POSTGRES_INITDB_WALDIR |
否 |
定义IvorySQL transaction文件夹路径,默认在数据目录(PGDATA)的子目录中。 |
|
4. rpm安装
-
安装依赖
$ sudo dnf install -y lz4 libicu libxslt python3
$ sudo dnf --disablerepo=* localinstall *.rpm
-
获取rpm包
$ sudo wget https://github.com/IvorySQL/IvorySQL/releases/download/IvorySQL_3.4/ivorysql3-libs-3.4-1.rhel9.x86_64.rpm
$ sudo wget
https://github.com/IvorySQL/IvorySQL/releases/download/IvorySQL_3.4/ivorysql3-2-1.rhel9.x86_64.rpm
$ sudo wget https://github.com/IvorySQL/IvorySQL/releases/download/IvorySQL_3.4/ivorysql3-contrib-3.4-1.rhel9.x86_64.rpm
$ sudo wget
https://github.com/IvorySQL/IvorySQL/releases/download/IvorySQL_3.4/ivorysql3-server-3.4-1.rhel9.x86_64.rpm
-
安装rpm包
各rpm包之间有依赖关系,请按照以下顺序安装rpm包:
$ sudo rpm -ivh ivorysql3-libs-3.4-1.rhel9.x86_64.rpm
$ sudo rpm -ivh ivorysql3-3.4-1.rhel9.x86_64.rpm
$ sudo rpm -ivh ivorysql3-server-3.4-1.rhel9.x86_64.rpm --nodeps
$ sudo rpm -ivh ivorysql3-contrib-3.4-1.rhel9.x86_64.rpm
数据库将被安装在/usr/local/ivorysql路径下。
5. 源码安装
-
安装依赖
$ sudo dnf install --enablerepo=crb -y bison-devel readline-devel zlib-devel openssl-devel
$ sudo dnf groupinstall -y 'Development Tools'
-
获取IvorySQL源代码
$ git clone https://github.com/IvorySQL/IvorySQL.git
-
配置
进入IvorySQL目录,执行以下命令进行配置,请使用—prefix指定安装目录:
$ ./configure --prefix=/usr/local/ivorysql/ivorysql-3
-
编译
执行以下命令进行编译:
$ make
-
安装
执行以下命令安装,数据库将被安装在上述由—prefix指定的路径下:
$ sudo make install
编译完毕,安装之前可先执行make check或make all-check-world测试刚刚编译的结果 |
6. 启动数据库
-
赋权
执行以下命令为安装用户赋权,示例用户为ivorysql,安装目录为/usr/local/ivorysql:
$ sudo chown -R ivorysql:ivorysql /usr/local/ivorysql
-
配置环境变量
将以下配置写入~/.bash_profile文件并使用source命令该文件使环境变量生效:
PATH=/usr/local/ivorysql/ivorysql-3/bin:$PATH
export PATH
LD_LIBRARY_PATH=/usr/local/ivorysql/ivorysql-3/lib
export LD_LIBRARY_PATH
PGDATA=/usr/local/ivorysql/ivorysql-3/data
export PGDATA
$ source ~/.bash_profile
-
数据库初始化
$ initdb -D /usr/local/ivorysql/ivorysql-3/data
其中-D参数用来指定数据库的数据目录。更多参数使用方法,请使用initdb --help命令获取。
-
启动数据库服务
$ pg_ctl -D /usr/local/ivorysql/ivorysql-3/data -l ivory.log start
其中-D参数用来指定数据库的数据目录,如果[配置环境变量] 配置了PGDATA,则该参数可以省略。-l参数用来指定日志目录。更多参数使用方法,请使用pg_ctl --help命令获取。
查看确认数据库启动成功:
$ ps -ef | grep postgres
ivorysql 3214 1 0 20:35 ? 00:00:00 /usr/local/ivorysql/ivorysql-3/bin/postgres -D /usr/local/ivorysql/ivorysql-3/data
ivorysql 3215 3214 0 20:35 ? 00:00:00 postgres: checkpointer
ivorysql 3216 3214 0 20:35 ? 00:00:00 postgres: background writer
ivorysql 3218 3214 0 20:35 ? 00:00:00 postgres: walwriter
ivorysql 3219 3214 0 20:35 ? 00:00:00 postgres: autovacuum launcher
ivorysql 3220 3214 0 20:35 ? 00:00:00 postgres: logical replication launcher
ivorysql 3238 1551 0 20:35 pts/0 00:00:00 grep --color=auto postgres
7. 数据库连接
psql连接数据库:
$ psql -d <database>
psql (16.4)
Type "help" for help.
ivorysql=#
其中-d参数用来指定想要连接到的数据库名称。IvorySQL默认使用ivorysql数据库,但较低版本的IvorySQL首次使用时需用户先连接postgres数据库,然后自己创建ivorysql数据库。较高版本的IvorySQL则已为用户创建好ivorysql数据库,可以直接连接。 更多参数使用方法,请使用psql --help命令获取。
Docker运行IvorySQL时,需要添加额外参数,参考:psql -d ivorysql -U ivorysql -h 127.0.0.1 -p 5434 |
8. 卸载IvorySQL
使用任何一种方法卸载前请先停止数据库服务并做好数据备份。 |
8.1. dnf安装的卸载
执行以下命令依次卸载:
$ sudo dnf remove -y ivorysql3 ivorysql3-server ivorysql3-contrib ivorysql3-test
$ sudo rpm -e ivorysql-release-3.0-1.noarch
8.2. docker安装的卸载
执行以下命令,使IvorySQL容器停止运行,并删除IvorySQL容器和镜像:
$ docker stop ivorysql
$ docker rm ivorysql
$ docker rmi ivorysql/ivorysql:3.4-ubi8
8.3. rpm安装的卸载
执行以下命令查询已安装的rpm包,依次卸载并清理文件夹:
$ rpm -qa | grep ivorysql
$ sudo rpm -e ivorysql3-contrib-3.4-1.rhel9.x86_64 --nodeps
$ sudo rpm -e ivorysql3-server-3.4-1.rhel9.x86_64
$ sudo rpm -e ivorysql3-3.4-1.rhel9.x86_64
$ sudo rpm -e ivorysql3-libs-3.4-1.rhel9.x86_64
$ sudo rm -rf /usr/local/ivorysql