YashanDB的YCA认证学习
YCA官方报名和课程配套PPT下载:
https://www.yashandb.com/YCA_courses
个人版数据库、驱动及工具下载体验:
https://download.yashandb.com/download
产品文档:
https://doc.yashandb.com/yashandb/23.2/zh/%E4%BA%A7%E5%93%81%E6%8F%8F%E8%BF%B0/%E4%BA%A7%E5%93%81%E7%AE%80%E4%BB%8B.html

安装部署YashanDB
主机环境:CentOS 7.8.2003 Intel X86 8GB 2C 192.168.0.214
操作系统调整
ulimit -c unlimited
echo "soft core unlimited" >> /etc/security/limits.conf
echo "hard core unlimited" >> /etc/security/limits.conf
# 设置主机DNS域名解析
hostnamectl set-hostname yanshan01
echo "192.168.0.214 yanshan01" >> /etc/hosts
# 关闭透明大页
echo 'never' > /sys/kernel/mm/transparent_hugepage/enabled
echo 'never' > /sys/kernel/mm/transparent_hugepage/defrag
# 调整交换分区,在性能与稳定性(避免OOM)之间的选择
sysctl -w vm.swappiness=5
echo "vm.swappiness=5">> /etc/sysctl.conf
# 调整自动分配本地端口范围
sysctl -w net.ipv4.ip_local_port_range='32768 60999'
echo "net.ipv4.ip_local_port_range = 32768 60999" >> /etc/sysctl.conf
# 调整进程的VMA上限
sysctl -w vm.max_map_count=2000000
echo "vm.max_map_count=2000000" >> /etc/sysctl.conf
# 使调整变量生效
sysctl -p
关闭防火墙和开机自启
systemctl stop firewalld
systemctl disable firewalld
规划准备安装YashanDB

# 创建YashanDB用户
useradd yashan
passwd yashan
# 调整资源限制值
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
# 上传下载的安装包到/tmp目录,调整授权
chown yashan.yashan /tmp/yashandb-personal-23.2.3.100-linux-x86_64.tar.gz
# 切换到yashan用户操作解压安装包
su - yashan
mkdir /home/yashan/install/
cd /home/yashan/install/
mv /tmp/yashandb-personal-23.2.3.100-linux-x86_64.tar.gz .
tar xzvf yashandb-personal-23.2.3.100-linux-x86_64.tar.gz
采用命令行在服务端安装
# 执行yasboot package命令生成配置文件
./bin/yasboot package se gen --cluster yashandb -u yashan -p Test@123 --ip 192.168.0.214 --port 22 --install-path /home/yashan/yasdb_home --data-path /home/yashan/yasdb_data --begin-port 1688

直接安装
./bin/yasboot package install -t hosts.toml -i yashandb-personal-23.2.3.100-linux-x86_64.tar.gz

如果机器内存少于4GB,可以添加 -f 强制安装跳过检查


部署数据库
./bin/yasboot cluster deploy -t yashandb.toml -d

配置环境变量
cd /home/yashan/yasdb_home/yashandb/23.2.3.100/conf/
cat yashandb.bashrc >> ~/.bashrc
source ~/.bashrc
检查安装结果
cd /home/yashan/install
# 通过yasboot工具设置数据库sys用户的密码
./bin/yasboot cluster password set -n Test#123 -c yashandb
# 查看数据库状态
./bin/yasboot cluster status -c yashandb -d -u sys -p Test#123
# 查看实例状态
./bin/yasboot sql -d sys/Test#123@192.168.0.214:1688
SELECT STATUS,VERSION,STARTUP_TIME,INSTANCE_NAME FROM V$INSTANCE;
select DATABASE_NAME,OPEN_MODE,STATUS from v$database;

实例启停:
# 关闭与开启
yasboot cluster stop -c yashandb -p Test#123
yasboot cluster start -c yashandb -p Test#123

卸载
yasboot cluster clean --cluster yashandb --purge
yasboot package uninstall --cluster yashandb
特性
- O记 + 有界计算
- DDL 默认自动提交
- DML 默认非自动提交,退出连接时会触发隐式提交
- 新版本yasboot操作需要带上密码
SQL> create table t_test(id int,name varchar2(20));
Succeed.
SQL> insert into t_test values(1,'ok');
1 row affected.
SQL> rollback;
Succeed.
SQL> insert into t_test values(2,'OK');
1 row affected.
SQL> exit
[yashan@ecs-gy001-0002 ~]$ yasboot sql -d yashan/yashan@192.168.0.214:1688
YashanDB SQL Personal Edition Release 23.2.3.100 x86_64
Connected to:
YashanDB Server Personal Edition Release 23.2.3.100 x86_64 - X86 64bit Linux
SQL> select * from t_test;
ID NAME
------------ ---------------------
2 OK
1 row fetched.
问题记录
openssl版本不对导致安装失败
openssl version

下载1.1.1l版本安装:
https://openssl-library.org/source/
# 清理低版本openssl
yum remove openssl
yum remove openssl-devel
# 下载1.1.1版本并编译安装
wget https://openssl.org/source/old/1.1.1/openssl-1.1.1l.tar.gz
tar -xzvf openssl-1.1.1l.tar.gz
cd openssl-1.1.1l
./config --prefix=/usr/local/openssl
make
make install
# 配置软连接检查版本
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl/ /usr/include/openssl
echo "/usr/local/openssl/lib/" >> /etc/ld.so.conf
ldconfig -v
openssl version -a

学习体验
- YCA培训流程很清晰,但视频录播的是比较早的版本,跟新版本的yashandb库差别比较大,参考意义不大,建议及时更新吧
- yashandb的“有界计算”还是挺不错的,就还得看看实际案例如何了
- YCA认证考试流程还是挺规范的

被折叠的 条评论
为什么被折叠?



