YCA 认证必读 | YashanDB 个人版安装初体验

2023年 10月 31日 67.3k 0

从 YCA 第二期结课到现在已经过去三个月,当时学习课程时,并没有提供个人版安装包,只是提供了一个有时效性的远程访问端口,可以使用的功能也很局限,更多是理论上的感知和了解。

现在第四期的 YCA 培训已经开始,并提供了 YashanDB 个人版,可以自行下载、安装、测试,便利了很多。

YashanDB 的安装

安装包

从 YashanDB 官网找到下载页面: https://download.yashandb.com/download

这里选择【YashanDB 个人版】,安装包为:Yashandb Personal 23.1 for Linux x86-64

下载后,解压缩:

[root@rocky9 yashan]# ls
yashandb-personal-23.1.1.100-linux-x86_64.tar.gz
[root@rocky9 yashan]# tar zxf yashandb-personal-23.1.1.100-linux-x86_64.tar.gz
[root@rocky9 yashan]# ls
admin bin conf ext gitmoduleversion.dat include java lib LICENSE plug-in scripts yashandb-personal-23.1.1.100-linux-x86_64.tar.gz
[root@rocky9 yashan]# du -sh ./* -c
11M ./admin
62M ./bin
720K ./conf
26M ./ext
12K ./gitmoduleversion.dat
36K ./include
8.0K ./java
602M ./lib
16K ./LICENSE
980K ./plug-in
32K ./scripts
244M ./yashandb-personal-23.1.1.100-linux-x86_64.tar.gz
944M total
[root@rocky9 yashan]#

在 scripts 路径下,提供了安装和初始化脚本,

[root@rocky9 yashan]$ ll scripts/
total 32
-rwxrwxr-x. 1 shawnyan shawnyan 3296 Oct 19 15:59 createResourceCgroup.sh
-rwxrwxr-x. 1 shawnyan shawnyan 2934 Oct 19 15:59 initDB.sh
-rwxrwxr-x. 1 shawnyan shawnyan 2104 Oct 19 15:59 initStandby.sh
-rw-rw-r--. 1 shawnyan shawnyan 411 Oct 19 15:59 install.ini
-rwxrwxr-x. 1 shawnyan shawnyan 1412 Oct 19 15:59 install.sh
-rwxrwxr-x. 1 shawnyan shawnyan 1157 Oct 19 15:59 startup.sh
-rwxrwxr-x. 1 shawnyan shawnyan 1157 Oct 19 15:59 stop.sh
-rwxrwxr-x. 1 shawnyan shawnyan 667 Oct 19 15:59 yascheckStart.sh

安装、初始化

安装的配置文件使用默认的即可,无需修改,需要注意的是,YashanDB 默认监听端口:1688

分别执行安装脚本、初始化脚本:

[root@rocky9 yashan]# ./scripts/install.sh
[root@rocky9 yashan]# ./scripts/initDB.sh
process started!
Database open succeed !

此时,数据库已经启动,可以看到 1688 端口已经被监听。

[root@rocky9 yashan]# ss -antpl | grep 1688
LISTEN 0 4096 0.0.0.0:1688 0.0.0.0:* users:(("yasdb",pid=70869,fd=15))

注意,
在安装完成后,会在 bashrc 文件末尾增加一行,所以需要导入环境变量。

[root@rocky9 yashan]# tail ~/.bashrc -n1
[ -f /root/yashandb/yasdb_home/conf/yasdb.bashrc ] && source /root/yashandb/yasdb_home/conf/yasdb.bashrc
[root@rocky9 yashan]# source ~/.bashrc
[root@rocky9 yashan]#

可以看到这里设置了几个环境变量:

[root@rocky9 yashan]# cat /root/yashandb/yasdb_home/conf/yasdb.bashrc
export YASDB_HOME=/root/yashandb/yasdb_home
export YASDB_DATA=/root/yashandb/yasdb_data
export PATH=$YASDB_HOME/bin:$PATH
export LD_LIBRARY_PATH=$YASDB_HOME/lib:$LD_LIBRARY_PATH
[root@rocky9 yashan]#

设置 sys 超管用户口令

进入 YASDB_HOME,并使用 yaspwd 命令为超管用户设定密码。

[root@rocky9 yasdb_home]# yaspwd file=yasdb.pwd
Enter password for SYS:dba1234!

这里需要注意的是,默认的密码校验规则较为复杂,密码至少8位,至少包含1个特殊字符,且不能包含用户名。

[root@rocky9 yasdb_home]# yaspwd file=yasdb.pwd
Enter password for SYS:sys
YASPW-00002 password complexity failed for SYS user : password must contain at least 8 characters
[root@rocky9 yasdb_home]# yaspwd file=yasdb.pwd
Enter password for SYS:sysdba123
YASPW-00002 password complexity failed for SYS user : password must contain at least 1 special character
[root@rocky9 yasdb_home]# yaspwd file=yasdb.pwd
Enter password for SYS:sysdba123!
YASPW-00002 password complexity failed for SYS user : password must not contain the username

登录 YashanDB

这里为便于测试,直接将 YASDBA 用户组赋予 root 用户,如此便可以免密登录。

[root@rocky9 config]# yasql / as sysdba
YashanDB SQL Personal Edition Release 23.1.1.100 x86_64

Connected to:
YashanDB Server Personal Edition Release 23.1.1.100 x86_64 - X86 64bit Linux

SQL>

基础使用

登录后,查看数据库启动状态,和启动时间:

SQL> select status, startup_time from v$instance;

STATUS STARTUP_TIME
------------- ----------------------------------------------------------------
OPEN 2023-10-31 01:12:59.760037

1 row fetched.

查看日志文件:

SQL> select * from v$logfile;

THREAD# ID NAME BLOCK_SIZE BLOCK_COUNT USED_BLOCKS SEQUENCE# STATUS
------- ------------ ---------------------------------------------------------------- ------------ ------------ ------------ ------------ ---------
1 0 /root/yashandb/yasdb_data/dbfiles/redo0 4096 25600 9 1 INACTIVE
1 1 /root/yashandb/yasdb_data/dbfiles/redo1 4096 25600 5740 2 CURRENT
1 2 /root/yashandb/yasdb_data/dbfiles/redo2 4096 25600 0 0 INACTIVE
1 3 /root/yashandb/yasdb_data/dbfiles/redo3 4096 25600 0 0 INACTIVE

4 rows fetched.

查看 DBA 表:

SQL> select distinct owner, tablespace_name from dba_tables limit 10;

OWNER TABLESPACE_NAME
---------------------------------------------------------------- ----------------------------------------------------------------
SYS SYSTEM
SYS SYSAUX
SYS TEMP
MDSYS SYSTEM

4 rows fetched.

MySQL 兼容模式

YashanDB 通过 SQL 插件的形式兼容了部分 MySQL 特性,通过下面的命令可以启用 MySQL 兼容模式:

SQL> ALTER SYSTEM SET SQL_PLUGIN = 'MYSQL';

Succeed.

下面做些简单的测试:

SQL> create table t1 (id int);

Succeed.

SQL> insert t1 select 1;

[1:8]YAS-04115 "INTO" expected but missing

SQL> insert into t1 select 1;

YAS-00004 feature "implict table" has not been implemented yet

SQL> insert into t1 values (1);

1 row affected.

SQL> select * from t1;

ID
------------
1

1 row fetched.

SQL> desc t1;
NAME NULL? DATATYPE
---------------------------------------------------------------- --------- ---------------------------------
ID INTEGER

SQL> show create table t1;
YASQL-00010 unknown SHOW option
SQL> delete from t1 ;

1 row affected.

SQL> select * from t1;

ID
------------

0 rows fetched.

可以看到,这里只是兼容了一些最基础的语法,并不完善,也或许是个人版的功能并不完全。

总结

YashanDB 是国产数据库的一颗新星,“形”极其似 O 某,希望“神”不仅似,且能超越,最后遥遥领先。

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论