多数据库学习之星瑞格[SinoDB]数据库安装部署指南
多数据库学习之星瑞格[sinodb]数据库安装部署指南
- SinoDB简介
- 数据库安装
- 物理机安装
- 安装流程
- docker安装
- 远程登录
- 建库测试
- jdbc URL
- 创建数据库
- 操作数据
- 数据库卸载
- 参考链接
SinoDB简介
- 架构图
数据库安装
物理机安装
安装流程
- 常用命令
# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
- 创建 sinodbms 组和用户并设置用户密码
# 1. 使用 root 用户执行:
groupadd sinodbms# 2. 创建 sinodbms 用户:
useradd -g sinodbms -d /home/sinodbms -s /bin/bash -m sinodbms
passwd sinodbms
# 设置密码
xxxxxx@nbsp# 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/
- 预检查端口占用情况
# 查看所有监听端口
sudo lsof -i -P -n | grep LISTEN# 检查指定端口是否被占用
sudo lsof -i :8080
# 或
sudo netstat -tulnp | grep 8080
# 或
sudo ss -tulnp | grep 8080
- 命令行安装
我们在 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/sinodbmsINSTALL FOLDER IS: /opt/sinodbmsIS THIS CORRECT? (Y/N): Y安装目录指定到/opt/sinodbms
## 4、选择安装类型,典型安装输入1
## 5、接下来选择输入服务器名称,以及未被使用的端口,回车则使用默认:9080。
## 6、根据安装说明书选择是否启用OAT的管理密码,要求是输入no
## 7、阅读其它许可信息,输入回车或者Y继续进行。Installation Location Security Warning
--------------------------------------The installation directory is not secure. SinoDB server will not run unless it
is installed in a secure directory.# /opt/sinodbms (path is not trusted)
# Name: /opt
# Problem: the permissions 0777 include public write access->1- Automatically secure the path (recommended)2- Secure the path after installation3- Configure path security
- 创建数据库实例
# 1、创建一个实例,按回车默认选择1就行。
Create a database server instance?->1- Yes - create a server instance2- 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/sinodbmsPRESS <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/sinodbms, where ol_sinodb1210 is the path or
filename of the instance.Windows:
ol_sinodb1210.cmdUNIX csh:
source ol_sinodb1210.cshUNIX ksh or bourne:
./ol_sinodb1210.kshPRESS <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
- 查看实例状态
# 1、设置环境变量
cd /opt/sinodbms/
source ol_sinodb1210.ksh# 2、查看实例状态
onstat -(查看实例的状态,如果是online 说明服务状态正常)
$ onstat -
Your evaluation license will expire on 2025-04-15 00:00:00Sinoregal 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 --------
docker安装
- 常用命令
# 查看系统版本
cat /etc/os-release## 启停防火墙
systemctl stop firewalld
systemctl disable firewalld.servicesystemctl status firewalld# 查看Docker软件状态
systemctl status docker# 加载已存在的镜像
docker load < SinoDB-V16.8-docker.tar# 查看镜像信息
docker images | grep sinodb# sinodb容器创建
## docker run -d --name sinodb --hostname shawnyan -p 18411:18411 1861423f2484
## docker run -it --hostname sinodb --name sinodb --privileged registry.cn-hangzhou.aliyuncs.com/hejunri/sinodb:1.3
docker run -it --name db3 -p 39088:9088 registry.cn-hangzhou.aliyuncs.com/hejunri/sinodb:1.2
docker run --privileged -it --name db4 -p 39088:9088 database:sinodb## -p 39088:9088, 39088是属主主机指定监听地址,9088是sinodb容器默认的监听地址。
## –name 自定义创建的容器名称# 查看启动容器
docker ps -a ## 查看所有容器
docker stop db3 ## 停止容器
docker start db3 ## 启动已停止的容器
docker restart db3 ## 重启容器
docker rm db3 ## 删除容器
docker logs db3 ## 查看容器日志# 检查端口是否被占用
netstat -tulnp | grep 39088 # SinoDB默认端口
- 存在问题
远程登录
- 验证端口状态
# telnet 192.168.xxx.xxx 9080
Trying 192.168.xxx.xxx...
telnet: connect to address 192.168.xxx.xxx: Connection refused
- 检查系统防火墙状态
# 防火墙状态
systemctl status firewalld.service ## 表明已关闭防火墙
● firewalld.service - firewalld - dynamic firewall daemonLoaded: 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
- 增加9080端口配置
# $SINODBMSDIR 是SinoDB的安装目录(/opt/sinodbms),ol_sinodb1210是实例名
cat $SINODBMSDIR/etc/sqlhost.ol_sinodb1210vi $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 9080 # 配置文件修改后,需要重启服务生效
onmode -ky
oninit -vy ## 通过oninit -ivy命令初始化数据库实例
- 再次验证9080端口
$ telnet 192.168.xxx.xxx 9080
Trying 192.168.xxx.xxx...
Connected to 192.168.xxx.xxx.
Escape character is '^]'.
^]
Connection closed by foreign host.
建库测试
jdbc URL
# 类名
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;sqli://192.168.84.146:8882/testdb:SINODBMSSERVER=sinodb;NEWCODESET=utf8,8859-1,819;CLIENT_LOCALE=zh_cn.utf8;DB_LOCALE=zh_cn.utf8;-- 执行以下SQL测试字符集转换是否正常:
SELECT '测试中文' FROM systables WHERE tabid = 1;
创建数据库
- 常用命令
# 查看创建的数据库空间(服务器命令)
onstat -d;
- 创建SQL示例
-- 查询数据库版本号
SELECT DBINFO('version', 'full') AS version_full,DBINFO('version', 'major') AS version_major,DBINFO('version', 'minor') AS version_minor,DBINFO('version', 'level') AS version_level
FROM systables WHERE tabid = 1;-- (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');-- ●查询数据
SELECT * FROM student;SELECT * FROM student WHERE gender = 'F' ORDER BY age DESC;-- ●更新数据
UPDATE student SET age = 23 WHERE id = 3;-- ●删除数据
DELETE FROM student WHERE id = 2;
数据库卸载
- 启动卸载程序
[root@sinodb-server ~]# /opt/sinodbms/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/sinodbms 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 binaries2- Removes server binaries and all databases associated with themENTER THE NUMBER FOR YOUR CHOICE, OR PRESS <ENTER> TO ACCEPT THE DEFAULT:: 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
参考链接
-
【星瑞格】SinoDB国产数据库安装初体验及学习指南
-
Linux环境下SinoDB的安装与配置
-
管理员参考手册