日期:2025-09-23
1 前置准备
参考文档:https://docs.vastdata.com.cn/zh_CN/VastbaseG100/V3.0.8/1/be9d6c2eac154b92a0efaef9e8c6d88a
| 资源 | 要求 |
|---|---|
| OS | CentOS 7.6+/openEuler 20.03 或其他支持 Docker 19.03+ 的 x86_64 系统 |
| 安装包 | vastbase-g100-single-v1.4-3.0.8.26989-linux-x86_64-20250815104055.tar |
| 端口 | 宿主机 25432(映射容器 5432) |
| 用户 | 具有 sudo 权限的普通用户即可 |
2 目录与权限
sudo mkdir -p /usr/sie/vastbase/{data,license,backup,backup_log}
sudo chown -R 1000:1000 /usr/sie/vastbase # 容器内 UID 1000
3 导入镜像(离线)
sudo docker load -i vastbase-g100-single-v1.4-3.0.8.26989-linux-x86_64-20250815104055.tar
# 输出:Loaded image: vastbase-g100-single-v1.4-3.0.8.26989-linux-x86_64:20250815104055
# 打短标签
docker tag vastbase-g100-single-v1.4-3.0.8.26989-linux-x86_64:20250815104055 vastbase:g100
4 创建并启动容器
docker run -d --privileged=true \
-v /usr/sie/vastbase/license:/home/vastbase/vastbase/lic \
-v /usr/sie/vastbase/data:/home/vastbase/data \
-v /usr/sie/vastbase/backup:/home/vastbase/backup \
-v /usr/sie/vastbase/backup_log:/home/vastbase/backup_log \
-e VB_PASSWORD=****** \
-e VB_USERNAME=postgres \
-e VB_DBCOMPATIBILITY=A \
--name vastbase \
-p 25432:5432 \
vastbase:g100
--创建容器脚本
docker run -d --privileged=true -v /usr/sie/vastbase/license:/home/vastbase/vastbase/lic -v /usr/sie/vastbase/data:/home/vastbase/data -v /usr/sie/vastbase/backup:/home/vastbase/backup -v /usr/sie/vastbase/backup_log:/home/vastbase/backup_log -e VB_PASSWORD=****** -e VB_USERNAME=postgres -e VB_DBCOMPATIBILITY --name vastbase -p 25432:5432 vastbase:g100
--检查启动日志
docker logs -f --tail 100 vastbase
--进入容器
docker exec -it vastbase bash
| 环境变量 | 说明 |
|---|---|
VB_PASSWORD |
超级用户密码(必须 ≥8 位且含大小写+数字+特殊字符) |
VB_USERNAME |
超级用户名,默认 vastbase;此处设为 postgres
|
VB_DBCOMPATIBILITY |
实例级兼容模式:A=Oracle(默认)B=MySQLPG=PostgreSQLMSSQL=SQL Server |
5 创建MySQL兼容模式并启动容器
sudo mkdir -p /usr/sie/vastbase_b/{data,license,backup,backup_log}
docker run -d --privileged=true \
-v /usr/sie/vastbase_b/license:/home/vastbase/vastbase/lic \
-v /usr/sie/vastbase_b/data:/home/vastbase/data \
-v /usr/sie/vastbase_b/backup:/home/vastbase/backup \
-v /usr/sie/vastbase_b/backup_log:/home/vastbase/backup_log \
-e VB_PASSWORD=****** \
-e VB_USERNAME=postgres \
-e VB_DBCOMPATIBILITY=B \
--name vastbase_b \
-p 25434:5432 \
vastbase:g100
--检查启动日志
docker logs -f --tail 100 vastbase_b
--进入容器
docker exec -it vastbase_b bash
--验证是否安装成功
vsql -d postgres -c 'SELECT version();'
出现以下的日志说明安装成功
[vastbase@b754f1b687e8 ~]$ vsql -d postgres -c 'SELECT version();'
------------------------------------------------------------------------------
PostgreSQL 9.2.4 on x86_64-pc-linux-gnu, compiled by g++ (GCC) 7.3.0, 64-bit
(1 row)
--创建数据库,用户,角色并授权
第一次连接数据库时可以连接到此数据库。 执行如下命令连接数据库。
vsql -d vastbase -p 5432
6 检查启动结果
# 实时日志
docker logs -f --tail 100 vastbase
看到 database system is ready to accept connections 即启动成功。
7 连接测试
7.1 容器内本地
docker exec -it vastbase su - postgres -c "vsql -d postgres -c 'SELECT version();'"
返回类似:
PostgreSQL 9.2.24 (Vastbase G100 3.0.8) on x86_64-pc-linux-gnu...
7.2 远程连接
任意 PostgreSQL 客户端:
Host: <宿主机IP>
Port: 25432
User: postgres
Password: ******
Database: postgres
测试 SQL:
CREATE DATABASE demo;
\c demo
CREATE TABLE t(id serial primary key, name varchar(20));
INSERT INTO t(name) VALUES ('Vastbase');
SELECT * FROM t;
8 常用运维
| 操作 | 命令 |
|---|---|
| 启停数据库 |
docker stop vastbase / docker start vastbase
|
| 查看日志 |
docker logs vastbase 或 docker exec -it vastbase su - postgres -c "tail -f \$PGDATA/pg_log/postgresql-*.log"
|
| 全库逻辑备份 | docker exec -it vastbase su - postgres -c "vb_dumpall -f /home/vastbase/backup/full_\$(date +%F).sql" |
| 全库恢复 | docker exec -i vastbase su - postgres -c "vsql -f /home/vastbase/backup/full_xxxx.sql" |
| 卸载 | docker stop vastbase && docker rm vastbase && sudo rm -rf /usr/sie/vastbase |
9 使用管理员账户创建数据库、创建表及向表中插入数据和查询表中数据等操作
参考文档:https://docs.vastdata.com.cn/zh_CN/VastbaseG100/V3.0.8/1/fd2491b87d4644f1b320dcb906f4c255
9.1. 连接默认库
第一次连接数据库时可以连接到此数据库。 执行如下命令连接数据库。
# 以超级用户 vbase 身份登录(初始库也叫 vastbase)
vsql -d vastbase -p 5432 -U vbase -W
9.2 创建业务用户
-- 2.1 创建用户(口令需满足复杂度)
CREATE USER snest_changwen PASSWORD '******';
-- 2.2 授予系统管理员权限(体验用,生产请按最小权限)
GRANT ALL PRIVILEGES TO snest_changwen;
CREATE USER snest_jichen WITH PASSWORD "******";
GRANT ALL PRIVILEGES TO snest_jichen;
9.3. 创建业务数据库
CREATE DATABASE snest_tpcc OWNER snest_changwen;
CREATE DATABASE snest_jichen OWNER snest_jichen;
9.4. 退出当前会话
\q -- 或 Ctrl+D
9.5. 使用新用户连接新库
vsql -d snest_tpcc -p 5432 -U snest_changwen -W
vsql -d snest_jichen -p 5432 -U snest_jichen
提示密码时输入
******
9.6. 创建 Schema(同名 schema 免搜索路径设置)
CREATE SCHEMA snest_changwen AUTHORIZATION snest_changwen;
CREATE SCHEMA snest_jichen AUTHORIZATION snest_changwen;
SET search_path TO snest_changwen; -- 当前会话生效
9.7. 建表 & 插入 & 查询
-- 7.1 建表
CREATE TABLE mytable (
firstcol INT PRIMARY KEY
);
-- 7.2 写数据
INSERT INTO mytable VALUES (100);
-- 7.3 读数据
SELECT * FROM mytable;
预期结果:
firstcol
----------
100
(1 row)
10. 使用Dbeaver工具连接vastbase
主机:ip
端口:25432
数据库:snest_jichen
用户名:snest_jichen
密码:**
数据库类型选择 PostgreSQL ,工具的话直接使用PG的类型就好,但是代码开发的时候,使用cn.com.vastbase.Driver驱动

10.1 默认兼容模型
vastbase数据库访问
########DBCP##########
driverClassName=cn.com.vastbase.Driver
url=jdbc:vastbase://ip:25432/snest_jichen?currentSchema=snest_changwen
username=snest_jichen
password=******
########集成环境DBCP##########
driverClassName=cn.com.vastbase.Driver
url=jdbc:vastbase://ip:25432/snest_jichen?currentSchema=snest_jc
username=snest_jichen
password=******
########snest_ziyangDBCP##########
driverClassName=org.postgresql.Driver/cn.com.vastbase.Driver
url=jdbc:vastbase://ip:25432/snest_jichen?currentSchema=snest_ziyang
username=snest_jichen
password=******
10.2 MySQL兼容模型
vastbase数据库访问
数据库:snest_tpcc 端口:25434 用户名:snest_changwen
########DBCP##########
driverClassName=cn.com.vastbase.Driver
url=jdbc:vastbase://ip:25434/snest_tpcc?currentSchema=snest_changwen&db_compatibility=mysql
username=snest_changwen
password=******
dbCompatibility=mysql
########DBCP##########
driverClassName=cn.com.vastbase.Driver
url=jdbc:vastbase://ip:25434/snest_tpcc?currentSchema=snest_jichen&db_compatibility=mysql
username=snest_changwen
password=******
dbCompatibility=mysql