因项目需要GBase 8sV8.8数据库环境,所以在搭建使用过程中有一些坑和错误,所以记录和分享
docker搭建
docker.com获取镜像
docker pull liaosnet/gbase8s:v8.8_3503x1_x64
创建容器
docker run -d -p 19088:9088 \
-e SERVERNAME=gbase01 \
-e USERPASS=GBase123$% \
-e CPUS=1 \
-e MEMS=2048 \
liaosnet/gbase8s:v8.8_3503x1_x64
以上参数中: 端口9088为数据库使用的内部端口,需要在容器中映射,如使用19088端口
SERVERNAME对应的是默认服务名称:gbase01
USERPASS对应的是默认gbasedbt用户密码:GBase123$%
CPUS对应的是限制容器中使用的cpu数量:1
MEMS对应的是限制容器中使用的内存总量: 2048 MB
使用DBeaver工具连接
数据库连接(JDBC)
JDBC JAR:https://gbasedbt.com/dl/jdbc
类名:com.gbasedbt.jdbc.Driver
URL:jdbc:gbasedbt-sqli://IPADDR:19088/testdb:GBASEDBTSERVER=gbase01;DB_LOCALE=zh_CN.utf8;CLIENT_LOCALE=zh_CN.utf8;IFX_LOCK_MODE_WAIT=30;
用户:gbasedbt
密码:GBase123$%
其中:IPADDR为docker所在机器的IP地址,同时需要放通19088端口。
问题点1
直接使用
SELECT VERSION(); 或者SELECT @@VERSION;
语句进行查询版本信息,直接提示语句错误
解决方法
需要使用DBINFO方法查询
# 完整的版本字符串
SELECT DBINFO('version_gbase', 'full') FROM systables;
问题点2
直接创建数据库,会提示一个SQL 错误 [IX000]: 不能参考一个未设日志的外在数据库。
CREATE DATABASE vehicles ;
解决方案
我们需要创建了使用已缓冲的日志的数据库,然后才能正常使用
CREATE DATABASE test2 WITH BUFFERED LOG;
参考文档
GBASE官网:https://www.gbase.cn/download/gbase-8s-1?category=DOCUMENT
docker hub :https://hubgw.docker.com/r/liaosnet/gbase8s