我是在浏览墨天轮社区的时候了解到崖山数据库,当时只是了解到它是一个新诞生的数据库,我一开始对它没有什么兴趣,毕竟国产数据库太多了,它又太新了没有经过时间的检验,实在让人难以放心。我对其产生兴趣是在墨天轮看到了很多推荐,其中不乏一些大佬,能有这么多推荐,即使有宣传的成分也得是崖山自身有实力。去官网了解一下,发现yca是免费的,于是就抱着学习了解崖山的心思报名了这个yca。
首先,讲一下YCA认证吧。YCA是崖山的初级认证,总体来说,难度并不大。如果有一定数据库基础的话,很容易就能通过。如果你有时间,可以通过观看官方提供的课程来学习,全面了解崖山数据库的知识点。如果你时间紧迫,但有Oracle数据库经验,那么可以直接尝试考试,因为崖山DB对Oracle的兼容性做得非常好,很多操作都可以直接以Oracle的方式来进行。当然最好还是看一遍官方的课程,实在没空可以浏览一遍ppt。
在看课的时候,根据官方课程内容,使用cursor编写了两个脚本,分别用于优化操作系统和安装软件。以下是这两个脚本的部分内容:
- 优化操作系统脚本:
#!/bin/bash
# 检测1688端口是否被占用,被占用,输出1688端口被占用并退出脚本,否则输出1688端口未被占用
if lsof -i:1688 > /dev/null 2>&1; then
echo "1688端口被占用"
exit 1
else
echo "1688端口未被占用"
fi
# 关闭防火墙
# systemctl stop firewalld
# systemctl disable firewalld
# 让1688端口在防火墙中开放
firewall-cmd --zone=public --add-port=1688/tcp --permanent
firewall-cmd --reload
# 关闭交换分区
echo "vm.swappiness=0" >> /etc/sysctl.conf
#调整自动分配本地端口范围
echo "net.ipv4.ip_local_port_range = 32768 60999" >> /etc/sysctl.conf
# 调整进程VMA上限
echo "vm.max_map_count=2000000" >> /etc/sysctl.conf
# 使配置生效
sysctl -p
# 立即生效
# 调整文件描述符上限
ulimit -n 65536
# 调整最大进程数
ulimit -u 65536
# 调整最大内存
ulimit -m unlimited
# 调整最大栈空间
ulimit -s 8192
# 重启后也有效
# 调整用户文件描述符上限
echo "yashan soft nofile 65536" >> /etc/security/limits.conf
echo "yashan hard nofile 65536" >> /etc/security/limits.conf
# 调整用户进程数
echo "yashan soft nproc 65536" >> /etc/security/limits.conf
echo "yashan hard nproc 65536" >> /etc/security/limits.conf
# 调整用户栈空间
echo "yashan soft stack 8192" >> /etc/security/limits.conf
echo "yashan hard stack 8192" >> /etc/security/limits.conf
# 调整用户内存
echo "yashan soft rss unlimited" >> /etc/security/limits.conf
echo "yashan hard rss unlimited" >> /etc/security/limits.conf
# 检测是否存在yashan用户,不存在则创建,存在则跳过,输出提示信息
if ! id yashan > /dev/null 2>&1; then
useradd yashan
echo "yashan用户已创建"
# 设置yashan用户密码
echo "yashan" | passwd --stdin yashan
echo "yashan用户密码已设置"
# 设置yashan用户为sudoer
echo "yashan ALL=(ALL) ALL" >> /etc/sudoers
echo "yashan用户为sudoer已设置"
fi
# 检测YASDBA用户组是否存在,不存在则创建,输出提示信息
if groupadd YASDBA; then
echo "YASDBA用户组已创建"
else
echo "YASDBA用户组已存在"
fi
# 检测yashan用户是否在YASDB用户组中,不在则添加,输出yashan用户不在YASDB用户组中,已添加
if usermod -aG YASDBA yashan; then
echo "yashan用户不在YASDBA用户组中,已添加"
else
echo "yashan用户在YASDBA用户组中"
fi
- 安装软件脚本:
read -p "请输入安装用户名(回车使用默认值): " user
if [ -z "$user" ]; then
user=yashan
fi
mkdir -p /home/$user/install
cd /home/$user/install
#解压用户输入的安装包,执行脚本时需输入安装包路径,未输入则提示用户输入,获取用户输入的安装包路径
read -p "请输入安装包绝对路径: " install_package_path
if [ -z "$install_package_path" ]; then
echo "安装包路径不能为空"
exit 1
fi
# 需要判断文件是否存在
if [ ! -f "$install_package_path" ]; then
echo $install_package_path
echo "安装包不存在"
exit 1
fi
tar -zxf $install_package_path
# 需要用户输入集群名称,ip,用户名,密码,ssh端口,安装路径,数据路径,数据库监听端口
# 集群名称,用户名,密码,ssh端口,安装路径,数据路径,数据库监听端口都有默认值,用户不输入使用默认值
#安装路径和数据路径,当环境变量里有YASDB_HOME和YASDB_DATA时,从环境变量里读取
# 用户输入为空时,使用之前设定的默认值
read -p "请输入集群名称(回车使用默认值): " cluster_name
if [ -z "$cluster_name" ]; then
cluster_name=yashandb
fi
read -p "请输入服务器ip(不可为空): " ip
if [ -z "$ip" ]; then
echo "ip不能为空"
exit 1
fi
read -p "请输入安装用户的密码(回车使用默认值yashan): " password
if [ -z "$password" ]; then
password=yashan
fi
read -p "请输入ssh端口(回车使用默认值): " ssh_port
if [ -z "$ssh_port" ]; then
ssh_port=22
fi
read -p "请输入安装路径(回车使用默认值): " install_path
if [ -z "$install_path" ]; then
if [ -n "$YASDB_HOME" ]; then
install_path=$YASDB_HOME
else
install_path=/home/$user/yashandb_home
fi
fi
read -p "请输入数据路径(回车使用默认值): " data_path
if [ -z "$data_path" ]; then
if [ -n "$YASDB_DATA" ]; then
data_path=$YASDB_DATA
else
data_path=/home/$user/yashandb_data
fi
fi
read -p "请输入数据库监听端口(回车使用默认值): " begin_port
if [ -z "$begin_port" ]; then
begin_port=1688
fi
# 判断安装路径和数据路径是否存在
if [ ! -d "$install_path" ]; then
echo "安装路径不存在"
exit 1
fi
if [ ! -d "$data_path" ]; then
echo "数据路径不存在"
exit 1
fi
# 生成配置文件
./bin/yasboot package se gen --cluster $cluster_name -u $user -p $password --ip $ip --port $ssh_port --install-path $install_path --data-path $data_path --begin-port $begin_port
# 开始安装
./bin/yasboot package install -t hosts.toml -i $install_package_path
# yashandb is $cluster
#启动yasboot
./bin/yasboot cluster deploy -t $cluster_name.toml
echo "配置环境变量:"
echo "进入到安装目录的conf目录下,执行以下命令:"
echo "source $cluster_name.bashrc"
echo "cat $cluster_name.bashrc >> ~/.bashrc"
echo "使用以下命令初始化sys用户密码"
echo "yasboot cluster password set -n sys_pw -c $cluster_name"
通过这次YCA认证,我对崖山DB有了更深入的了解,也算了解了为什么这么多人推荐崖山,崖山确实有自己的优点。总的来说,YCA认证让我在短时间内掌握了崖山DB的基本使用方法。
体验YashanDB,报名链接:https://www.yashandb.com/YCA_courses
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




