南大通用数据库安装使用教程(GBase8s)

目录

  • GBase8sV8.8安装
    • 1. 安装数据库
    • 2. 初始化实例
    • 3. 环境变量
    • 4. 常用操作
    • 5. 验证数据库安装
    • 6. 卸载
    • 7. 用户管理
    • 8. 连接
  • 常见问题

GBase8sV8.8安装

1. 安装数据库

数据库及工具下载直接在官网找到对应版本即可,本教程以GBase8sV8.8 x86版本为例。

groupadd gbasedbt 
useradd -g gbasedbt gbasedbt 
passwd gbasedbt
# 密码为 
# GBase 8s数据库默认仅使用操作系统用户,用户操作在操作系统层实现,授权在数据库内实现。因此,该用户作为gbase的管理员用户,可登录gbase数据库。

# 创建 GBase 8s 数据库安装目录
mkdir -p /opt/GBASE/gbase
chown gbasedbt:gbasedbt /opt/GBASE/gbase

# 开始安装
sh ids_install
# 按回车
# 在安装类型处:
# 选1,择典型安装
# 回车
# 在是否创建实例处:
Create a server instance?
 ->1- Yes - create an instance
 2- No - do not create an instance
ENTER THE NUMBER FOR YOUR CHOICE, OR PRESS  TO ACCEPT THE DEFAULT::
# 选2,不创建实例,安装完成后再创建实例

2. 初始化实例

# 进入安装目录的 etc目录下
cd /opt/GBASE/gbase/etc
# 使用 gbasedbt 用户执行 GBaseInit_gbasedbt.sh 脚本,自动创建并初始化实例。
su - gbasedbt
sh GBaseInit_gbasedbt.sh

# 选择服务器的对外ip
CHOOSE SERVICE IP ADDRESS FROM THE LIST:
 1) 172.19.0.1
 2) 172.17.0.1
 3) 10.110.200.244
 4) 127.0.0.1
ENTER THE NUMBER FOR YOUR CHOICE [Default:172.19.0.1]: 3

# 端口默认 9088
SPECIFY THE PORT NUMBER FOR GBASE [Default:9088]: 

# 安装类型,选1:典型
INITIALIZE TYPE:
 1) TYPICAL -- Initialize the instance with all features configured with default values.
 2) CUSTOM  -- Initialize the instance with specific features that you need.
ENTER THE NUMBER FOR YOUR CHOICE [Default:1]: 1

3. 环境变量

安装脚本会在gbasedbt的Home路径下,自动生成一个名称为profile.gbaseserver的文件,记录了新创建数据库实例需要的环境变量。

[gbasedbt@devsvr ~]$ ls
profile.gbaseserver

# 可以使用cat命令查看文件的内容。
[gbasedbt@devsvr ~]$ cat profile.gbaseserver 
export GBASEDBTSERVER=gbaseserver
export GBASEDBTDIR=/opt/gbase
export GBASEDBTSQLHOSTS=/opt/gbase//sqlhosts.gbaseserver
export ONCONFIG=onconfig.gbaseserver
export PATH=/opt/gbase/bin:$PATH
export DB_LOCALE=zh_CN.utf8
export CLIENT_LOCALE=zh_CN.utf8
unset GL_USEGLU


# 使用source命令,使环境变量生效。
[gbasedbt@devsvr ~]$ source profile.gbaseserver 

# 使用env查看环境变量。
[gbasedbt@devsvr ~]$ env | grep GBASE
GBASEDBTSQLHOSTS=/opt/gbase/#/sqlhosts.gbaseserver
GBASEDBTSERVER=gbaseserver
GBASEDBTDIR=/opt/gbase

4. 常用操作

# 查看GBase 8s的进程信息
# GBase 8s启动后,会运行名称为oninit的进程,可以使用ps命令查看。
ps -ef | grep oninit

# 查看数据库运行状态
onstat -

# 启动数据库
oninit -vy

# 停止数据库
onmode -ky

# 查看最新的20条日志
onstat -m

5. 验证数据库安装

su - gbasedbt
[gbasedbt@devsvr ~]$ dbaccess - -
Your evaluation license will expire on 2022-06-17 00:00:00

> create database portal;
Database created.

> database portal;
Database selected.

> create table t_user(f_userid int, f_username varchar(50));
Table created.

> insert into t_user values(1,'gbasedbt');
1 row(s) inserted.

> select * from t_user;

6. 卸载

cd /opt/GBASE/gbase/uninstall/uninstall_ids/

./uninstallids

# 然后清除残余目录,删除gbasedbt用户
userdel -r gbasedbt

7. 用户管理

GBase 8s数据库默认仅使用操作系统用户,用户操作在操作系统层实现,授权在数据库内实现。

使用root用户在系统中创建系统用户
useradd portaladmin
passwd portaladmin

系统用户建好后,用管理员登录数据库,切换到要给用户授权的数据库,进行授权操作
通过客户端登录,数据库选择要授权的库,如 portal,登录进去后,执行如下命令授权:
GRANT resource TO portaladmin;

授权完成后即可通过 portaladmin 访问portal库。

这里我们开启数据库内部用户,数据库内部用户需要通过配置才能开启。

  • 配置os
在/etc/gbasedbt目录(如没有,使用root用户创建)下创建,检查是否创建allowed.surrogates
安装默认创建了该文件allowed.surrogates配置文件
内容如下:
USERS:daemon
  • 数据库开启USERMAPPING
su - gbasedbt
onstat  -c USERMAPPING  /*检查是否开启*/
onmode -wf USERMAPPING=ADMIN
OFF   只允许操作系统的用户访问数据库,不允许非系统用户访问数据库。
BASIC 允许非系统用户访问数据库,但不允许执行对数据库系统的授权用户操作,如 DBSA, DBSSO, AAO 等。即使被映射的用户具有上述权限。
ADMIN 允许非系统用户访问数据库。且如果被映射的用户为授权用户,则非系统用户也被允许执行授权用户操作。
  • 加载surrogates到缓存
su - gbasedbt
onmode -cache surrogates
onstat -m
  • 在sysuser库中创建系统默认用户,可以指定默认目录
su - gbasedbt
mkdir -p /home/gbasedbt/users
chmod 777 /home/gbasedbt/users
dbaccess sysuser - << EOF
CREATE DEFAULT USER WITH PROPERTIES USER daemon HOME "/home/gbasedbt/users" ;
EOF

以上仅需要第一次初始化执行

  • 创建普通用户,并指定密码,密码需要大于8位
dbaccess sysuser - << EOF
CREATE USER testuser WITH PASSWORD 'gbasedbt';
EOF
  • 在数据库中赋权访问
echo "grant resource to testuser;" | dbaccess mydb -
  • 连接数据库
dbaccess - - 
connect to "mydb@gbase01" user "testuser";

8. 连接

IP:127.0.0.1
端口:9088
实例名:gbaseserver
模式:gbasedbt、portal等
用户名:gbasedbt
密码:前面创建操作系统用户时设置的用户密码

常见问题

  1. Opening primary chunks…FAILED
Opening primary chunks...FAILED
oninit: Fatal error in shared memory initialization

WARNING: server initialization failed or timed out.
Check the message log, online.log, for errors.

使用 onstat -m 命令查看近20行日志信息。

10/30/24 16:54:55  The chunk '/home/gbase/gbase/gbaseserver_dbs/rootdbs' must have READ/WRITE permissions for owner (600).
10/30/24 16:54:55  oninit: Fatal error in shared memory initialization

10/30/24 16:54:55  Process exited with return code 126: /bin/sh /bin/sh -c /home/gbase/gbase/etc/alarmprogram.sh 4 7 "Database Server Initialization failure." "The chunk '/home/gbase/gbase/gbaseserver_dbs/rootdbs' must have READ/WRITE permissions for owner (600)." "" 7018

表示/home/gbase/gbase/gbaseserver_dbs/rootdbs权限不对,这里提示需要600权限。

chmod 755 /home/gbase/gbase/gbaseserver_dbs
chmod 660 /home/gbase/gbase/gbaseserver_dbs/*
  1. 重启后登录报Incorrect password or user com.gbasedbt.asf.IfxASFRemoteException: [email protected][DESKTOP-JQ64187] is not known on the database server.
    com.gbasedbt.asf.IfxASFRemoteException: [email protected][DESKTOP-JQ64187]

但是给了600权限后服务能起来,但是用户无法连接上,需要给660权限。

chmod 755 /home/gbase/gbase/gbaseserver_dbs
chmod 660 /home/gbase/gbase/gbaseserver_dbs/*

你可能感兴趣的:(数据库,linux)