【星瑞格】SinoDB国产数据库安装初体验及学习指南

今天和大家一起来看看一款来自福建的国产数据库——SinoDB。本人很早就听说过这款数据库,而且星瑞格公司就在同一栋办公楼。虽然以前就已经对这颗国产数据库有一定的了解,并没有真正的去使用一把。随着数据库国产化改造工作的推进,身边的客户开始适配这款数据库,也在咨询技术相关问题。在此,我就分享下这款数据库使用体验以及学习指南,也欢迎大家来体验!

【SinoDB介绍】

星瑞格数据库管理系统——SinoDB具有完全自主知识产权,采用国密算法,提供多层次数据加密加强数据安全,支持高并发、高可用、高性能的数据处理。有意思的是Sino是东方的意思,SinoDB是星瑞格倾力打造的旗舰级属于我们中国的数据库。

【SinoDB安装】

下面,我们来动手安装SinoDB。以Linux 系统上安装星瑞格 SinoDB 数据库软件16.8 版本为例,整个过程相对简单易懂,跟着官方的教程一步步走也基本没问题。

1、提供一台CentOS虚拟机,4G内存,20G磁盘。

# cat /etc/redhat-release 
CentOS Linux release 7.6.1810 (Core)

2、创建 sinodbms 组和用户,并设置用户密码

1. 使用 root 用户执行:
# groupadd sinodbms
2. 创建 sinodbms 用户:
# useradd -g sinodbms -d /home/sinodbms -s /bin/bash -m sinodbms
# passwd sinodbms
3. 创建介质目录 
# mkdir /home/sinodbms/tmp

上传安装介质到服务器并在单独的目录中解压。执行解压命令:tar -xvf 安装包名;

[root@sinodb-server opt]# tar -xvf SinoDB-16.8-TL-linux-x86_64.tar -C /home/sinodbms/tmp/

3. 命令行安装

我们在 root 用户下,进入安装包目录,运行安装命令 ids_install,启动安装程序。

[root@sinodb-server ~]# /home/sinodbms/tmp/ids_install 
1、遇到要求输入enter时,按下enter继续即可
PRESS <ENTER> TO CONTINUE: 
2、遇到Y/N时输入Y即可。
DO YOU ACCEPT THE TERMS OF THIS LICENSE AGREEMENT? (Y/N): 
3、弹出安装位置,可以自己选择或者默认路径。
ENTER AN ABSOLUTE PATH, OR PRESS <ENTER> TO ACCEPT THE DEFAULT
      : /opt/sindbms

INSTALL FOLDER IS: /opt/sindbms
   IS THIS CORRECT? (Y/N): Y

安装目录指定到/opt/sindbms
4、选择安装类型,典型安装输入1
5、接下来选择输入服务器名称,以及未被使用的端口,回车则使用默认。
6、根据安装说明书选择是否启用OAT的管理密码,要求是输入no
7、阅读其它许可信息,输入回车或者Y继续进行。

4、创建数据库实例

1、创建一个实例,按回车默认选择1就行。
Create a database server instance?



  ->1- Yes - create a server instance
    2- No - do not create a server instance
2、确认一下信息有没有错误后继续点击回车即可。
3、等待安装(安装时间约1-2 分钟),进行实例的初始化,直接输入回车(需要等待大致3分钟)。
Ready To Install
----------------

InstallAnywhere is now ready to install Sinoregal SinoDB Software Bundle onto 
your system at the following location:

   /opt/sindbms

PRESS <ENTER> TO INSTALL: 


4、实例初始化完成后,则提示不同系统实例的环境变量文件位置。输入回车,进入下一步。
A database server instance was created. If you chose to initialize the 
instance, it is ready to use.

You can open a command prompt to an initialized instance by running one of the
following commands at /opt/sindbms, where ol_sinodb1210 is the path or 
filename of the instance.

Windows:
ol_sinodb1210.cmd

UNIX csh:
source ol_sinodb1210.csh

UNIX ksh or bourne:
./ol_sinodb1210.ksh


PRESS <ENTER> TO CONTINUE: 
5、安装的结果反馈,确认无误,则输入回车,结束安装。
Installation Complete
---------------------
The installation of Sinoregal SinoDB Software Bundle is complete, but some 
errors occurred during the install.
   Please see the installation log for details.  Click 'Done' to exit the 
installation process.

Product install status:
SinoDB Dynamic Server: Successful
SinoDB Client-SDK: Successful
SinoDB JDBC Driver: Successful
OpenAdmin Tool: Successful

5、查看实例的状态

1、设置环境变量
cd /opt/sinodbms/
source ol_sinodb1210.ksh
2、查看实例状态
onstat -(查看实例的状态,如果是online 说明服务状态正常)
$ onstat -
Your evaluation license will expire on 2025-04-15 00:00:00

Sinoregal SinoDB Dynamic Server Version 16.8.FC8U0X3TL -- On-Line -- Up 00:09:02 -- 254088 Kbytes
3、登录数据库
dbaccess(进入数据库,出现如下界面则表示数据库已安装成功)
DBACCESS:   Query-language  Connection  Database  Table  Session  Exit
Use SQL query language.

------------------------------------------------ Press CTRL-W for Help --------

【SinoDB登录】

1、使用DBeaver客户端登录数据库前,需要先验证8035端口能通。

# telnet 192.168.198.132 8035
Trying 192.168.198.132...
telnet: connect to address 192.168.198.132: Connection refused

2、检查系统防火墙是否关闭。

# systemctl status firewalld.service --防火墙状态
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)
# systemctl stop firewalld.service   --关闭防火墙

如果实在要开启防火墙,也可以针对端口开放防火墙例外
firewall-cmd --zone=public --add-port=8030-8060/tcp
将临时更改为永久,永久配置完成后需要立即同步
firewall-cmd --runtime-to-permanent
立即同步永久配置
firewall-cmd --reload

3、增加8035端口配置cat $SINODBMSDIR/etc/sqlhost.ol_sinodb1210

其中,$SINODBMSDIR 是SinoDB的安装目录,ol_sinodb1210是实例名

vi $SINODBMSDIR/etc/sqlhost.ol_sinodb1210
#ol_sinodb1210 onsoctcp sino-dbsever ol_sinodb1210 --》注释掉
dr_sinodb1210 drsoctcp sino-dbsever dr_sinodb1210 
lo_sinodb1210 onsoctcp 127.0.0.1 lo_sinodb1210 
ol_sinodb1210 onsoctcp sino-dbsever 8035  --》新增配置
配置文件修改后,需要重启服务生效
onmode -ky
oninit -vy

4、再次验证8035端口

$ telnet 192.168.198.132 8035
Trying 192.168.198.132...
Connected to 192.168.198.132.
Escape character is '^]'.
^]
Connection closed by foreign host.

5、在官方网站下载DBeaver客户端,选择社区版本。dbeaver-ce-24.0.2-x86_64-setup软件下载成功后,可以直接安装。

下载地址:Download | DBeaver Community

6、SinoDB V16.8 JDBC驱动包下载,com.sinodbms.jdbc.jar和SinoDB-JDBC-1.0.jar两个都可以使用。

驱动下载地址:软件下载 - 软件下载 - Sinoregal Tech Forum

7、打开DBeaver客户端,并在“数据库”-》“驱动管理器”-》“新建”,配置内容可参考如下两张截图。

类名:com.sinodbms.jdbc.IfxDriver
URL模板:jdbc:sinodbms-sqli://{host}:{port}/{database}:SINODBMSSERVER={server}
为了支持不同的数据库字符集,请在驱动中加入如下三个参数:NEWCODESET、CLIENT_LOCALE、DB_LOCALE 。
URL模板:jdbc:sinodbms-sqli://{host}:{port}/{database}:SINODBMSSERVER={server};NEWCODESET=utf8,8859-1,819;DB_LOCALE=en_US.8859-1;CLIENT_LOCALE=en_US.8859-1;

8、在DBeaver客户端,选择“数据库”-》“新建数据库连接”,然后选择上述配置的sino驱动,然后输入对应的机主IP、服务器、数据库/模式、用户名、密码。

9、点击测试连接,可以看到连接测试显示“已连接”。

10、创建测试库

创建表前,记得先切换到指定的数据库。

(1)创建数据库,星瑞格数据库提供了创建数据库操作的SQL语句,如下所示:
create database testdb in datadbs1 with log;(datadbs1 为数据库所在数据空间,请根据实际情况指定)
这条语句创建 BUFFERED 日志模式数据库。
(2)建表,建表是数据库中最常见的操作之一,用于定义数据的结构和属性。星瑞格数据库提供了创建表的SQL语句,如下所示:
CREATE TABLE student (
id INT PRIMARY KEY,
name VARCHAR(20) NOT NULL,
age INT CHECK (age BETWEEN 18 AND 25),
gender CHAR(1) DEFAULT 'M'
);
这条语句创建了一个名为student的表,包含了四个字段,分别是id、name、age、gender。其中,id是主键,name是非空的,age是在18到25之间的,gender是默认为'M'的。
这些都是对数据的一些约束,可以保证数据的完整性和一致性。创建表的时候,还可以指定表所属的数据库,这里指定了testdbs数据库。

如果SQL语句有包含中文,记得在驱动设置中加上字符集,并重新连接。

(1)对表的CRUD操作
CRUD是指对数据的增删改查操作,是数据库的基本功能。星瑞格数据库提供了对表的CRUD操作的SQL语句,如下所示:
●插入数据
INSERT INTO student (id, name, age, gender) VALUES (1, '张三', 20, 'M');
INSERT INTO student (id, name, age, gender) VALUES (2, '李四', 21, 'F');
INSERT INTO student (id, name, age, gender) VALUES (3, '王五', 22, 'M');
这条语句向student表中插入了三条数据,分别是张三、李四、王五的信息。
●查询数据
SELECT * FROM student;
这条语句查询了student表中的所有数据
还可以使用一些条件和排序等功能,来对查询结果进行筛选和排序,例如:
SELECT * FROM student
WHERE gender = 'F'
ORDER BY age DESC;

●更新数据
UPDATE student
SET age = 23
WHERE id = 3;
这条语句更新了student表中id为3的数据,将其年龄修改为23。
●删除数据
DELETE FROM student
WHERE id = 2;
这条语句删除了student表中id为2的数据。

【SinoDB卸载】

1、启动卸载程序,开始卸载SinoDB

[root@sinodb-server ~]# /opt/SinoDB_Software_Bundle/uninstall/uninstall_ids/uninstallids
===============================================================================
Sinoregal SinoDB Software Bundle                 (created with InstallAnywhere)
-------------------------------------------------------------------------------

Preparing CONSOLE Mode Uninstallation...




===============================================================================
Uninstall SinoDB Software Bundle
--------------------------------

About to uninstall SinoDB Software Bundle.

In this uninstall process, all SinoDB Software Bundle products in 
/opt/SinoDB_Software_Bundle will be uninstalled.
It is recommended that you first shutdown all SinoDB database server instances
related to this installation prior to uninstalling the product.

PRESS <ENTER> TO CONTINUE: --》直接回车



===============================================================================
Server Uninstall Options
------------------------

Server action:

Important: Choosing to remove all databases will remove all database chunks, 
environment files, registry entries, and message log files for all database 
server instances associated with this installation.
  ->1- Retains all databases, but removes all server binaries
    2- Removes server binaries and all databases associated with them

ENTER THE NUMBER FOR YOUR CHOICE, OR PRESS <ENTER> TO ACCEPT THE DEFAULT:: 2  --》输入2回车,删除数据库组件和全部数据库

2、SinoDB卸载成功!

===============================================================================
Uninstall Complete
------------------

Uninstall is complete for Sinoregal SinoDB Software Bundle.

Product uninstall status:
SinoDB Dynamic Server: Failed
SinoDB Client-SDK: Successful
SinoDB JDBC Driver: Successful
OpenAdmin Tool: Successful

 rm -rf SinoDB_Software_Bundle

【SinoDB学习指南】

1、SinoDB入门指南

学习资料下载:SinoDB入门指南 - 运维指南 - Sinoregal Tech Forum

(1)了解SinoDB数据库:SinoDB星瑞格数据库管理系统产品白皮书

(2)下载SinoDB试用安装包:SinoDB数据库试用安装包(linux-x86_64位)

(3)SinoDB安装与配置:Linux版SinoDB安装手册

(4)SinoDB数据空间配置

(5)SinoDB连接管理工具:dbaccess / DBeaver / Dbvisualizer

(6)SinoDB数据库基本操作

(7)SinoDB数据类型

2、SinoDB进阶指南

学习资料下载:SinoDB进阶篇 - 运维指南 - Sinoregal Tech Forum

(1)SinoDB数据库常用配置参数:SinoDB常用Onconfig配置参数说明

(2)SinoDB数据库常用监控命令:onstat / oninit / onmode / oncheck

(3)SinoDB数据库导入导出工具:dbschema / unload/load / External table / dbload / onunload/onload

(4)SinoDB数据库统计更新

(5)SinoDB数据库执行计划

(6)SinoDB数据库备份恢复工具:dbexport/dbimport / ontape / onbar

(7)SinoDB数据库用户权限

【参考资料】

星瑞格数据库-国产数据库-数据库与数据库安全软件与服务提供商

Sinoregal Tech Forum

软件下载 - 软件下载 - Sinoregal Tech Forum

星瑞格体验官——SinoDB V16.8的使用初体验

来自星瑞格体验官——“初见”SinoDB

星瑞格体验官——SinoDB V16.8(操作篇)

欢迎大家体验!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/558045.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

使用docker配置CCM-SLAM

一.Docker环境配置 1.拉取Docker镜像 sudo docker pull ubuntu:18.04拉取的为ununtu18版本镜像&#xff0c;环境十分干净&#xff0c;可以通过以下命令查看容器列表 sudo docker images 如果想删除多余的docker image&#xff0c;可以使用指令 sudo docker rmi -f <id&g…

基于Java+SpringBoot+Vue前后端分离仓库管理系统

基于JavaSpringBootVue前后端分离仓库管理系统 &#x1f345; 作者主页 央顺技术团队 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; &#x1f345; 文末获取源码联系方式 &#x1f4dd; &#x1f345; 查看下方微信号获取联系方式 承接各种定制系统 &#…

《QT实用小工具·三十二》九宫格炫酷主界面

1、概述 源码放在文章末尾 项目实现了九宫格炫酷主界面&#xff0c;下面是项目demo演示&#xff1a; 项目部分代码如下&#xff1a; #pragma execution_character_set("utf-8")#include "frmmain.h" #include "ui_frmmain.h"frmMain::frmMain…

Android Studio学习笔记——广播机制Broadcast

Android Studio学习笔记——广播机制 5.1 广播机制简介5.2 接收系统广播5.2.1 动态注册监听网络变化5.2.2 静态注册实现开机启动 5.3 发送自定义广播5.3.1 发送标准广播5.3.2 发送有序广播 5.4 使用本地广播5.5 广播的最佳实践——强制下线功能 5.1 广播机制简介 安卓每个应用…

百度网盘超级会员2024最新白嫖30天教程

百度网盘超级会员服务是百度网盘提供的一项高级服务&#xff0c;它为用户提供了许多特权和功能&#xff0c;旨在为用户带来更加便捷、高效的文件存储和管理体验。以下是关于百度网盘超级会员服务的详细介绍&#xff1a; 百度网盘VIP领取入口&#xff1a; 关注公众号回复&#x…

在Linux操作系统中,修改文件目录权限常用的命令操作

修改文件的属主或者是属组 命令chown 用户名.用户组名&#xff0c;文件路径 如上图所示&#xff0c;使用命令 chown martin.caiwu /opt/test/1.txt 将文件1.txt的属主修改为martin 。 将文件1.txt的属组修改为caiwu 如上图所示&#xff0c;使用命令chown .jishu /opt/test/…

【muduo源码学习】one-loop-per-thread核心原理

在 TCP 网络编程中&#xff0c;这里我们特指在单机的环境下&#xff0c;主要关注两件事。第一&#xff0c;如何正确的处理TCP的连接和断开&#xff0c;以及正确处理数据的收发&#xff1b;在错综复杂的网络环境中&#xff0c;这并非易事&#xff0c;涉及很多细节。第二&#xf…

过滤器和拦截器的样例

拦截器实例代码&#xff0c;加上之后必须登录才能访问其他功能接口 package com.itheima.interceptors;import com.itheima.utils.JwtUtil; import com.itheima.utils.ThreadLocalUtil; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpSer…

数据结构和算法:贪心

贪心算法 贪心算法是一种常见的解决优化问题的算法&#xff0c;其基本思想是在问题的每个决策阶段&#xff0c;都选择当前看起来最优的选择&#xff0c;即贪心地做出局部最优的决策&#xff0c;以期获得全局最优解。 贪心算法和动态规划都常用于解决优化问题。它们之间存在一…

screen常用命令

screen是一个在Linux系统中常用的命令行终端模拟器&#xff0c;它允许用户在一个单一终端会话中管理多个终端窗口。以下是一些常用的screen命令 1、创建一个新的screen会话并命名 screen -S <name>2、control a d &#xff1a;分离&#xff08;detach&#xff09;当前的…

按从小到大顺序输出a, b, c(C语言)

一、运行结果&#xff1b; 二、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h>int main() {//初始化变量值&#xff1b;float a, b, c, t;//提示用户输入数据&#xff1b;printf("请输入数据a b c&#xff1a;");//获取用户输入数…

[大模型]Qwen-7B-Chat 接入langchain搭建知识库助手

Qwen-7B-Chat 接入langchain搭建知识库助手 环境准备 在autodl平台中租一个3090等24G显存的显卡机器&#xff0c;如下图所示镜像选择PyTorch–>2.0.0–>3.8(ubuntu20.04)–>11.8 接下来打开刚刚租用服务器的JupyterLab&#xff0c;并且打开其中的终端开始环境配置…

鸿蒙嵌入式开发工程师“钱”景如何?

鸿蒙嵌入式开发工程师前景如何&#xff1f;鸿蒙嵌入式开发工程师是指专门从事鸿蒙OS(HarmonyOS)在嵌入式设备上应用开发的工程师。随着鸿蒙OS的不断发展和应用场景的拓宽&#xff0c;鸿蒙嵌入式开发工程师的前景可以从以下几个方面进行展望&#xff1a; 1、鸿蒙嵌入式开发工程…

数据结构(循环单链表

目录 1. 讲解&#xff1a;2. C代码实现&#xff1a;小结&#xff1a; 1. 讲解&#xff1a; 循环链表又分为循环单链表、循环双链表。 2. C代码实现&#xff1a; #include <stdlib.h> #include <iostream> #include <stdio.h>using namespace std;#define E…

【leetcode面试经典150题】61. 反转链表 II(C++)

【leetcode面试经典150题】专栏系列将为准备暑期实习生以及秋招的同学们提高在面试时的经典面试算法题的思路和想法。本专栏将以一题多解和精简算法思路为主&#xff0c;题解使用C语言。&#xff08;若有使用其他语言的同学也可了解题解思路&#xff0c;本质上语法内容一致&…

【C++】:C++关键字,命名空间,输入输出,缺省参数

目录 一&#xff0c;C关键字(C98)二&#xff0c;命名空间2.1 命名冲突2.2 关键字namespace2.2.1 命名空间中可以定义变量/函数/类型2.2.2 命名空间可以嵌套2.2.3 同一个工程中允许存在多个相同名称的命名空间,编译器最后会合成同一个命名空间中。 2.3 命名空间的使用2.3.1 指定…

❤️‍FlyFlow工作流周更来咯~~

FlyFlow 借鉴了钉钉与飞书的界面设计理念&#xff0c;致力于打造一款用户友好、快速上手的工作流程工具。相较于传统的基于 BPMN.js 的工作流引擎&#xff0c;我们提供的解决方案显著简化了操作逻辑&#xff0c;使得用户能够在极短的时间内构建定制化的业务流程&#xff0c;即便…

Redis之路系列(3)纸上得来终觉浅(下)

03 纸上得来终觉浅(下) 基于Redis6&#xff0c;本章节主要介绍了Rdis的一些主要应用场景&#xff0c;包含了&#xff1a;大数据的过滤&#xff0c;分布式锁设计&#xff0c;并讲解了有趣的布隆过滤器原理&#xff0c;HyperLogLog 原理&#xff0c;二进制位数与存储大小计算的常…

汽车IVI中控开发入门及进阶(十五):AUTOSAR

前言: 随着汽车四化的进行,汽车电子系统standard标准化和coperation互操作性变得重要, AUTOSAR(AUTomotive Open System Architecture 汽车开放系统架构)框架已成为汽车行业的基础支柱。 AUTOSAR始自2000年,当时认识到标准化是有必要

Qt6连接MySQL

Qt6连接MySQL Qt6编译MySQL的过程太变态了&#xff0c;MinGW和MSVC都很费劲。 主要参考qt6.5.0MySQL驱动手动编译以及数据库连接详细教程以及注意事项附资源链接&#xff0c;这篇文章堪称保姆级教程&#xff0c;写的十分详细。 笔者这里踩了个坑&#xff0c;在按照上文中的过…