前言:
一个偶然的计划了解到了崖山数据库,在官方的培训下顺利通过了YCA的认证考试,官方文档很详细,通俗易懂,体验不错。另外YCA认证培训限时免费中,免费考取YCA证书,传送门https://jsj.top/f/GGXYlU?referred_from=CYYYDS6C
1.崖山数据库简介
崖山数据库系统YashanDB是深圳计算科学研究院完全自主研发设计的新型数据库系统,经工信部下属机构权威检测,内核代码自主率100%。在经典数据库理论基础上,融入原创的有界计算理论、近似计算理论、并行可扩展理论和跨模融合计算理论,支持单机/主备、共享集群、分布式等多种部署方式,覆盖OLTP/HTAP/OLAP交易和分析混合负载场景,全面兼容私有化及云基础设施,为客户提供一站式的企业级融合数据管理解决方案,满足金融、政府、电信、能源等关键行业对高性能、高并发及高安全性的要求。

2.安装环境
2.1安装环境建议

本次使用的操作系统版本:CentOS-7.8-x86_64
数据库版本:yashandb-personal-23.2.3.100-linux-x86_64
YashanDB软件下载:https://download.yashandb.com/download

2.2各版本之间的差异
个人版:YashanDB面向个人用户推出的免费试用版本,除不支持多模数据类型、高级安全能力、数据库集群等企业级功能,该版本包含YashanDB数据库所有基础核心能力,支持单机主备部署形态,配套开发者工具,供个人用户或开发者用于学习、测试、开发用途。
标准版:YashanDB面向小规模用户推出的商业版本,该版本价格适中,除不支持多模数据类型、高级安全能力等企业级功能,该版本包含YashanDB数据库所有基础核心能力,支持单机主备、分布式、共享集群部署形态,配套完整数据迁移和监控运维工具,可以为政府或中小企业提供支撑其业务所需的基本能力。
企业版:YashanDB面向大规模用户推出的商业版本,该版本包含YashanDB数据库完整核心能力,支持PB级海量数据存储和大量的并发用户,支持多模数据类型、高级安全能力,支持单机主备、分布式、共享集群部署形态,配套完整数据迁移和监控运维工具,可以满足支撑各类企业应用。
3.安装前的配置及检查
3.1安装前检查openssl版本
Centos7.8版本上默认的OpenSSL版本为1.0.2k-fips,低于要求的版本。
YashanDB官方文档23.2依赖说明:https://doc.yashandb.com/yashandb/23.2/zh/%E5%AE%89%E8%A3%85%E5%92%8C%E5%8D%87%E7%BA%A7/%E5%AE%89%E8%A3%85%E9%83%A8%E7%BD%B2/%E5%AE%89%E8%A3%85%E5%89%8D%E5%87%86%E5%A4%87/%E4%BE%9D%E8%B5%96%E9%A1%B9%E5%87%86%E5%A4%87.html
解决方法:升级OpenSSL版本。
安装包下载:https://www.openssl.org/source/old/1.1.1/index.html
###安装前检查openssl版本
[root@fandb ~]# openssl version
OpenSSL 1.0.2k-fips 26 Jan 2017
#移除旧版本
[root@fandb ~]# find / -name openssl
/etc/pki/ca-trust/extracted/openssl
/usr/bin/openssl
/usr/lib64/openssl
/usr/share/ruby/openssl
[root@fandb ~]# mv /usr/bin/openssl /usr/bin/openssl_old
[root@fandb ~]# mv /usr/lib64/openssl /usr/lib64/openssl_old
#解压安装包安装编译
[root@fandb tmp]# tar xzf openssl-1.1.1l.tar.gz
[root@fandb tmp]# cd openssl-1.1.1l/
[root@fandb openssl-1.1.1l]# ./config --prefix=/usr/local/openssl
[root@fandb openssl-1.1.1l]# make && make install
[root@fandb openssl-1.1.1l]# ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
[root@fandb openssl-1.1.1l]# ln -s /usr/local/openssl/include/openssl/ /usr/include/openssl
[root@fandb openssl-1.1.1l]# echo "/usr/local/openssl/lib/" >> /etc/ld.so.conf
#查看版本
[root@fandb openssl-1.1.1l]# openssl version -a
OpenSSL 1.1.1l 24 Aug 2021
built on: Sun Aug 4 04:58:24 2024 UTC
platform: linux-x86_64
options: bn(64,64) rc4(8x,int) des(int) idea(int) blowfish(ptr)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAESNI_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DNDEBUG
OPENSSLDIR: "/usr/local/openssl/ssl"
ENGINESDIR: "/usr/local/openssl/lib/engines-1.1"
3.2确定1688 端口不被占用
# netstat -anp|grep 1688
3.3调整资源限制
#调整资源限制值
cat >> /etc/security/limits.conf << EOF
yashan soft nofile 65536
yashan hard nofile 65536
yashan soft nproc 65536
yashan hard nproc 65536
yashan soft rss unlimited
yashan hard rss unlimited
yashan soft stack 8192
yashan hard stack 8192
EOF
ulimit -a
3.4系统参数配置
#系统参数配置
echo "vm.swappiness = 0">> /etc/sysctl.conf
echo "net.ipv4.ip_local_port_range = 32768 60999" >> /etc/sysctl.conf
echo "vm.max_map_count=2000000" >> /etc/sysctl.conf
sysctl -p
3.5关闭防火墙
#关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
3.6关闭透明大页
#关闭透明大页
cat /sys/kernel/mm/transparent_hugepage/defrag
[always] madvise never
cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never
#
echo>> /etc/rc.d/rc.local <<EOF
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
EOF
chmod +x /etc/rc.d/rc.local
3.7添加用户及用户组
#添加用户及用户组
groupadd YASDBA
useradd yashan
echo "yashan用户密码" |passwd --stdin yashan
usermod -a -G YASDBA yashan
3.8配置sudo免密登陆
# 配置sudo
chmod +w /etc/sudoers
cat >> /etc/sudoers << EOF
yashan ALL=(ALL)NOPASSWD:ALL
EOF
3.9创建数据库安装目录
mkdir -p /ysdb/data/yashan
mkdir -p /ysdb/install
chown -R yashan:yashan /ysdb*
chown -R yashan:yashan /ysdb/data/yashan
# 操作完后建议重启一次主机 reboot
4.数据库安装
4.1上传安装包
#切换崖山用户
[root@fandb install]# su - yashan
Last login: Sun Aug 4 13:23:39 CST 2024 on pts/0
[yashan@fandb ~]$ cd /ysdb/install/
[yashan@fandb install]$ ls -lsa
total 179256
0 drwxr-xr-x. 2 yashan yashan 62 Aug 4 13:23 .
0 drwxr-xr-x. 4 yashan yashan 33 Aug 4 13:21 ..
179256 -rwxrwxr-x. 1 yashan yashan 183555278 Aug 4 13:23 yashandb-personal-23.2.3.100-linux-x86_64.tar.gz
#解压安装包
[yashan@fandb install]$ tar -zxf yashandb-personal-23.2.3.100-linux-x86_64.tar.gz
4.2生产参数文件
[yashan@fandb install]$ ./bin/yasboot package se gen --cluster yashandb -u yashan -p rootroot --ip 192.168.1.66 --port 22 --install-path /ysdb/data/yashan/yasdb_home --data-path /ysdb/data/yashan/yasdb_data --begin-port 1688 host host0001 openssl version: OpenSSL 1.1.1l 24 Aug 2021 OpenSSL version is 1.1.1 or greater hostid | group | node_type | node_name | listen_addr | replication_addr | data_path ----------------------------------------------------------------------------------------------------------------- host0001 | dbg1 | db | 1-1 | 192.168.1.66:1688 | 192.168.1.66:1689 | /ysdb/data/yashan/yasdb_data ----------+-------+-----------+-----------+-------------------+-------------------+------------------------------ Generate config success
参数说明
--cluster 指定数据库集群名称,该名称也将作为初始数据库的名称(database name) --port 指定SSH服务端口 --install-path 指定数据库安装路径 --data-path 指定数据存放目录 --begin-port 指定数据库监听端口
执行完毕后,当前目录下将生成yashandb.toml和hosts.toml两个配置文件,可手动修改,但不建议删除文件中任何行,否则可能导致后续安装过程报错,或所搭建的环境后续无法进行扩展配置。
yashandb.toml:数据库集群的配置文件。
hosts.toml:服务器的配置文件。
4.3执行安装
[yashan@fandb install]$ ./bin/yasboot package install -t hosts.toml -i yashandb-personal-23.2.3.100-linux-x86_64.tar.gz host host0001 openssl version: OpenSSL 1.1.1l 24 Aug 2021 OpenSSL version is 1.1.1 or greater checking install package... install version: yashandb 23.2.3.100 host0001 100% [====================================================================] 3s update host to yasom...
4.4部署数据库
[yashan@fandb install]$ ./bin/yasboot cluster deploy -t yashandb.toml type | uuid | name | hostid | index | status | return_code | progress | cost ------------------------------------------------------------------------------------------------------------ task | ff9ee996d42ceb59 | DeployYasdbCluster | - | yashandb | SUCCESS | 0 | 100 | 15 ------+------------------+--------------------+--------+----------+---------+-------------+----------+------ task completed, status: SUCCESS
3.5配置环境变量
[yashan@fandb install]$ cd /ysdb/data/yashan/yasdb_home/yashandb/23.2.3.100/conf/ [yashan@fandb conf]$ source yashandb.bashrc [yashan@fandb conf]$ cat yashandb.bashrc >> ~/.bashrc [yashan@fandb conf]$ cat ~/.bashrc
4.6设置YashanDB数据库中sys用户的密码:
[yashan@fandb conf]$ cd /ysdb/data/yashan/yasdb_data/db-1-1/instance [yashan@fandb instance]$ mv yasdb.pwd yasdb1.pwd [yashan@fandb instance]$ yaspwd file=yasdb.pwd Enter password for SYS:密码
4.7查看数据库状态启动及停止
[yashan@fandb instance]$ yasboot cluster status -c yashandb
host_id | node_type | nodeid | pid
---------------------------------------
host0001 | db | 1-1:1 | 10806
----------+-----------+--------+-------
#启动数据库
[yashan@fandb instance]$ yasboot cluster start -c yashandb
type | uuid | name | hostid | index | status | return_code | progress | cost
-----------------------------------------------------------------------------------------------------------
task | 32a97dab8c66a4aa | StartYasdbCluster | - | yashandb | SUCCESS | 0 | 100 | 1
------+------------------+-------------------+--------+----------+---------+-------------+----------+------
task completed, status: SUCCESS
#关闭命令
[yashan@fandb instance]$ yasboot cluster stop -c yashandb
type | uuid | name | hostid | index | status | return_code | progress | cost
----------------------------------------------------------------------------------------------------------
task | 58e5b02d38d3f9ae | StopYasdbCluster | - | yashandb | SUCCESS | 0 | 100 | 2
------+------------------+------------------+--------+----------+---------+-------------+----------+------
task completed, status: SUCCESS
5.使用总体体验
结合官方文档的说明,初步完成了单机版YaShanDB的安装部署,官方文档非常详细,通俗易懂,即使第一次安装也是很快能够完成部署。YaShanDB语法和Oracle高度兼容,对于熟悉oracle的小伙伴可以平滑过渡到Yashandb,很快上手,期待未来YaShanDB能够带给我们更多精彩内容!
YCA认证培训限时免费中,免费考取YCA证书,传送门https://jsj.top/f/GGXYlU?referred_from=CYYYDS6C




