YashanDB 个人版数据库安装部署
大家好,这里是公众号 DBA学习之路,分享一些学习国产数据库路上的知识和经验。
@TOC
前言
最近参加了 YashanDB 数据库证书 YCP 的学习,学习一门数据库第一步应该就是安装部署,有了环境才能动手学习测试。
本文记录了 YashanDB 23.2 的单机安装部署过程,大部分参照官方文档,其中也有自己的部分解读,希望一起进步。
环境介绍
单机部署最小规模配置为 1 台服务器,但无法构建高可用环境。
| 部署形态 | 数据库监听 | yasom | yasagent | 服务器间通信 |
|---|---|---|---|---|
| 单机部署 | 1688 | 1675 | 1676 | 1689 |
安装前准备
openssl 检查
为保障 YashanDB 的正常安装和运行,请按如下来源及最低版本要求,在所有服务器环境中配置所需依赖项:
| 动态库名称 | 来源 | 版本要求 | 作用 |
|---|---|---|---|
| libcrypto.so.1.1 | openssl | 1.1.1 | 加密 |
| libssl.so | openssl | 1.1.1 | 网络通信 |
| libssl.so.1.1 | openssl | 1.1.1 | - |
| libgmssl.so.3.1 | gmssl | 3.1.1及以上 | 加密 |
| liblz4.so | lz4 | 1.9.3及以上 | 数据压缩和解压缩 |
| liblz4.so.1 | lz4 | 1.9.3及以上 | - |
| liblz4.so.1.9.3 | lz4 | 1.9.3及以上 | - |
| libz.so | zlib | 1.2.12及以上 | 数据压缩 |
| libz.so.1 | zlib | 1.2.12及以上 | - |
| libz.so.1.2.12 | zlib | 1.2.12及以上 | - |
| libzstd.so | zstd | 1.5.2及以上 | 数据压缩和解压缩 |
| libzstd.so.1 | zstd | 1.5.2及以上 | - |
| libzstd.so.1.5.2 | zstd | 1.5.2及以上 | - |
| monit | monit | 5.28.0及以上 | 守护进程 |
YashanDB 在 23.2 版本增加了一个 openssl 的限制,要求版本必须为 1.1.1,否则安装过程可能出错:
1 | ## 需要大于 1.1.1 |
我这里是符合要求的,如果是使用 centos7.9 就需要升级 openssl 版本了,可参考我写的 openssl 升级步骤:YashanDB openssl 版本过低升级过程。
还需要注意的一个就是 monit 命令,这个也建议安装,否则在使用 yasboot 命令启动 yasagent/yasom 时会报错:
1 | [yashan@yashandb bin]$ yasboot process yasom start -c yashandb |
在配置数据库开机自启时也会报错:
1 | [yashan@ymp install]$ yasboot monit start --cluster yashandb |
关于如何解决 monit 命令找不到的问题,只需要安装 monit 命令即可:monit-5.34.0-linux-x64.tar.gz 安装包下载,具体可以参考如下步骤:
1 | [root@ymp ~]# mkdir /monit /etc/monit.d |
确保安装 monit 命令成功即可。
关闭防火墙
YashanDB 安装建议关闭防火墙:
1 | systemctl stop firewalld |
创建用户和组
建议在所有服务器上创建 YashanDB 产品的安装用户,而非使用 root 身份执行安装部署:
1 | ## 这里增加 YASDBA 组是为了后续配置支持:yasql / as sysdba 系统认证 |
创建目录
所有 YashanDB 的实例节点都必须规划以下两个目录:
- HOME 目录:YashanDB 的产品目录,包含 YashanDB 所提供的命令、数据库运行所需的库及各关键组件。该目录由 yashan 用户执行安装部署时输入的 install-path 参数根据一定规则生成并创建。
- DATA 目录:YashanDB 的数据目录,包含数据库的各类系统数据文件、部分日志文件和配置文件,用户数据也缺省存储在该目录下。但对于共享集群,所有的数据文件和 redo 文件均需保存在共享存储上,DATA目录将只用于存储实例运行相关的配置文件、日志文件等数据。该目录由 yashan 用户执行安装部署时输入的 –data-path 参数根据一定规则生成并创建。
HOME 目录和 DATA 目录均规划在 /data/yashan 下,yashan 用户需要对该目录拥有全部权限,可执行如下命令授权:
1 | mkdir -p /data/yashan |
系统参数配置
当 YashanDB 安装在 Linux 环境中时,为使系统达到更好的性能,建议进行下述配置调整:
1 | ## 关闭交换分区 |
资源配置
将部分资源限制值(使用ulimit -a可查看所有的资源限制值)调整为推荐值或以上。
1 | cat<<-EOF>>/etc/security/limits.conf |
关闭透明大页
YashanDB 建议关闭透明大页,部分操作系统默认开启了透明大页选项,可执行以下命令确认:
1 | ## Red Hat Enterprise Linux 内核 |
显示结果:
- [always] madvise never:透明大页已开启。
- always [madvise] never:透明大页已开启。
- always madvise [never]:透明大页已关闭。
修改 /etc/default/grub 文件,在 GRUB_CMDLINE_LINUX 中添加或修改参数 transparent_hugepage=never:
1 | sed -i 's/quiet/quiet transparent_hugepage=never/' /etc/default/grub |
通过以下指令检查当前系统的引导类型:
1 | [ -d /sys/firmware/efi ] && echo UEFI || echo BIOS |
两种引导的启动文件路径分别为:
- BIOS:/boot/grub2/grub.cfg
- UEFI:/boot/efi/EFI/<distro_name>/grub.cfg,distro_name 为系统发行版本名称,例如 ubuntu、fedora、debian 等。
执行 grub2–mkconfig 指令重新配置 grub.cfg:
1 | ## BIOS 引导 |
重启操作系统,使配置永久生效:
1 | # reboot |
验证透明大页已关闭:
1 | ## Red Hat Enterprise Linux 内核 |
结果应显示 always madvise [never]。
安装步骤(使用yashan用户)
YashanDB 安装可以使用两种方式:
- 命令行安装
- 可视化安装
由于本人喜欢使用命令行模式,所以演示也是使用命令行。
解压安装软件
安装目录规划在 /home/yashan/install 下,由 yashan 用户执行软件包下载时自行创建。执行安装部署前,请以安装用户(yashan)登录数据库服务器,并进入 /home/yashan/install 安装目录:
1 | ## 在 yashan 用户下执行 |
生成安装配置文件
执行 yasboot package 命令生成配置文件:
1 | ## 注意这里的 yashan 用户密码需要根据自己的环境进行配置,如果安装教程走的话,可以不用修改,密码就是 yashan |
参数说明:
- –cluster:指定数据库集群名称,该名称也将作为初始数据库的名称(database name)
- –port:指定 SSH 服务端口
- –install-path:指定数据库安装路径
- –data-path:指定数据存放目录
- –begin-port:指定数据库监听端口
执行完毕后,当前目录下将生成 yashandb.toml 和 hosts.toml 两个配置文件,可手动修改,但不建议删除文件中任何行,否则可能导致后续安装过程报错,或所搭建的环境后续无法进行扩展配置。
- yashandb.toml:数据库集群的配置文件。
- hosts.toml:服务器的配置文件。
安装 yasom
1 | ./bin/yasboot package install -t hosts.toml -i /home/yashan/install/yashandb-personal-23.2.3.100-linux-x86_64.tar.gz |
安装 yasagent
1 | ## 安装部署 yasdb,-p 指定的是 sys 用户密码 |
YashanDB 不提供系统初始口令,需使用 yasboot 工具设置数据库 sys 用户的密码,以安装用户登录到服务器并执行如下命令设置密码。
配置环境变量
部署命令成功执行后将会在 $YASDB_HOME 目录下的 conf 文件夹中生成 <<集群名称>>.bashrc 环境变量文件:
1 | cd /data/yashan/yasdb_home/yashandb/23.2.3.100/conf/ |
连接数据库
1 | ## 系统认证方式登录 |
创建用户
1 | create user lucifer identified by lucifer; |
配置开机自启
由于每次开机都需要启动 yasom 和 yasagent,然后再启动数据库,比较麻烦,所以建议配置开机自启:
1 | ## 确保已启动 yasom 和 yasagent 进程,若没有可使用以下命令启动 |
配置开机自启动,需在 yasagent 进程所在服务器(即每台服务器)中执行以下操作:
1 | [root@ymp ~]# cat<<-EOF>/etc/rc.local |
重启主机测试是否会开启:
1 | [root@ymp ~]# reboot |
YashanDB 常用命令
1 | ## 查看数据库状态 |
关于 YashanDB AWR 报告一键生成可参考:《YashanDB AWR 报告一键生成》