news 2026/1/1 15:08:04

实战 | GBase 8s 端口配置与远程访问排障全流程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
实战 | GBase 8s 端口配置与远程访问排障全流程

一、背景与需求

作为数据库运维人员,日常工作中经常需要确认数据库端口监听状态、调整端口访问范围。本次实操围绕GBase 8s展开,核心需求有两个:

  1. 定位oninit进程占用的端口号;
  2. 将默认仅本地监听的9091端口开放给远程 IP 访问。

操作环境:Ubuntu Server,GBase 8s 以gbasedbt用户运行,初始监听地址为127.0.1.1:9091

二、问题排查与端口定位

2.1 确认 GBase 8s 进程状态

首先通过ps命令确认oninit进程(GBase 8s 核心进程)是否正常运行:

root@lihe-Virtual-Machine:/etc# ps -ef | grep gbasegbasedbt608031016:31 ? 00:00:00 oninit root6643918363016:47 pts/0 00:00:00grep--color=auto gbase

输出显示oninit进程 PID 为60803,状态正常。

2.2 定位进程占用的端口

使用ss命令查询60803进程对应的端口监听信息:

root@lihe-Virtual-Machine:/etc# sudo ss -tulnp | grep 9091tcp LISTEN0512127.0.1.1:90910.0.0.0:* users:(("oninit",pid=60846,fd=5),("oninit",pid=60803,fd=4))

关键结论:

  • oninit进程占用9091端口;
  • 监听地址为127.0.1.1,仅本地可访问;
  • 存在两个oninit进程实例(主进程+子进程),属于正常现象。

2.3 确认端口与服务名的映射关系

由于lsof输出中端口号被解析为服务名,可通过/etc/servicessqlhosts配置文件确认映射:

# 查看 sqlhosts 初始配置root@lihe-Virtual-Machine:/etc# cat $GBASEDBTSQLHOSTSgbaseserver onsoctcp lihe-Virtual-Machine gbaseserver lo_gbaseserver onsoctcp127.0.0.1 lo_gbaseserver

初始配置中,gbaseserver绑定主机名,lo_gbaseserver为本地回环服务。

三、端口开放配置与问题复现

3.1 配置修改思路

要开放端口给远程 IP,需修改sqlhosts配置文件,将监听地址从127.0.1.1改为服务器网卡 IP(如192.168.1.171),并确保配置文件包含必要的本地回环服务。

3.2 错误操作与启动失败

在实际操作中,因使用root用户直接覆盖写入sqlhosts文件,且删除了lo_gbaseserver配置,导致数据库重启失败:

# 错误操作:覆盖写入 sqlhosts,仅保留 gbaseserverroot@lihe-Virtual-Machine:/etc# cat << EOF > $SQLHOSTS_FILEgbaseserver onsoctcp192.168.1.1719091EOF# 重启数据库失败root@lihe-Virtual-Machine:/etc# oninit -vyoninit: DBSERVERNAME'lo_gbaseserver'notinsqlhostsfileor sqlhostsfilecontents are damaged. WARNING: server initialization failed or timed out.

失败原因分析

  1. 配置缺失sqlhosts文件中丢失lo_gbaseserver配置,而onconfig文件中定义的DBSERVERNAME依赖该本地服务;
  2. 权限错误:以root用户修改sqlhosts,导致文件属主/权限异常,gbasedbt用户无法读取;
  3. 环境变量问题gbasedbt用户下$GBASEDBTSQLHOSTS变量为空,root用户操作可能指向错误路径。

四、问题修复与正确配置步骤

4.1 核心修复原则

  • 必须以gbasedbt用户操作配置文件;
  • sqlhosts必须包含gbaseserver(对外服务)和lo_gbaseserver(本地回环);
  • 配置文件属主需为gbasedbt:gbasedbt,权限为644

4.2 分步修复操作

步骤 1:切换到gbasedbt用户,定位正确配置文件
# 切换用户root@lihe-Virtual-Machine:/etc# su - gbasedbt# 定位 onconfig 文件(GBase 8s 核心配置)$ONCONFIG_FILE=/opt/GBASE/gbase/etc/onconfig.gbaseserver# 从 onconfig 中获取 sqlhosts 路径$SQLHOSTS_FILE=$(grep-i sqlhosts $ONCONFIG_FILE|awk'{print$2}')# 若路径为空,使用默认路径$if[-z"$SQLHOSTS_FILE"];thenSQLHOSTS_FILE=/opt/GBASE/gbase/etc/sqlhosts;fi
步骤 2:备份错误配置,写入完整内容
# 备份当前错误配置$cp$SQLHOSTS_FILE$SQLHOSTS_FILE.error.bak# 写入包含双服务的配置(对外服务+本地回环)$cat<<EOF>$SQLHOSTS_FILE# 对外服务:绑定服务器网卡 IP,开放 9091 端口 gbaseserver onsoctcp 192.168.1.171 9091 # 本地回环服务:必须保留,数据库内部通信依赖 lo_gbaseserver onsoctcp 127.0.0.1 9089 EOF
步骤 3:修复配置文件权限
# 切换回 root 用户,修正属主和权限$exitroot@lihe-Virtual-Machine:/etc# sudo chown gbasedbt:gbasedbt $SQLHOSTS_FILEroot@lihe-Virtual-Machine:/etc# sudo chmod 644 $SQLHOSTS_FILE
步骤 4:重启数据库并验证状态
# 切换到 gbasedbt 用户操作root@lihe-Virtual-Machine:/etc# su - gbasedbt# 强制停止残留进程$ onmode -ky# 启动数据库并输出详细日志$ oninit -vy# 验证启动状态$ onstat -

若启动成功,onstat -会输出数据库运行状态(如On-Line)。

步骤 5:验证端口监听状态
$ ss -tulnp|greponinit

预期输出:192.168.1.171:9091127.0.0.1:9089均处于LISTEN状态。

4.3 防火墙与权限放行

1. 防火墙开放 9091 端口(Ubuntu 系统)
root@lihe-Virtual-Machine:/etc# sudo ufw allow 9091/tcproot@lihe-Virtual-Machine:/etc# sudo ufw reload
2. 配置数据库远程访问权限
# 切换到 gbasedbt 用户,编辑 .rhosts 文件$su- gbasedbt $vi$GBASEDBTDIR/etc/.rhosts# 添加客户端 IP 和用户名192.168.1.200 gbasedbt# 数据库用户授权(连接数据库后执行)$ dbaccess sysmaster ->GRANT CONNECT TO 远程用户名;

五、远程连接验证

在客户端机器上,使用dbaccess工具测试连接:

dbaccess -d 数据库名 -u 用户名 -s gbaseserver@192.168.1.171:9091

若成功进入数据库交互界面,说明端口开放配置生效。

六、总结与避坑指南

6.1 关键配置要点

  1. sqlhosts文件是 GBase 8s 端口配置的核心,必须包含对外服务和本地回环服务;
  2. 所有配置操作需以gbasedbt用户执行,避免权限问题;
  3. 修改配置后需重启数据库,通过onstat -验证状态。

6.2 常见错误避坑

错误操作后果解决方案
root 用户修改配置文件文件权限异常,数据库无法读取使用chown修正属主为gbasedbt:gbasedbt
覆盖写入删除lo_gbaseserver数据库启动失败恢复lo_gbaseserver配置
监听地址配置错误远程无法连接确认配置为服务器网卡 IP,而非127.0.0.1

6.3 运维建议

  1. 修改配置前备份原文件,防止误操作导致服务不可用;
  2. 数据库日志文件online.log(通常在$GBASEDBTDIR/tmp)是排障的重要依据;
  3. 开放端口后,建议通过nmap工具验证端口可达性。

七、扩展阅读

  1. GBase 8s 官方文档:sqlhosts配置与网络通信
  2. Linux 运维手册:ss/netstat命令实战指南
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2025/12/14 0:40:46

PanSearch网盘影视资源搜索聚合工具源码

核心功能&#xff1a; 1. 聚合搜索&#xff1a;集成多个网盘资源搜索引擎&#xff0c;一站式查找影视、软件、资料。 2. 每日热点&#xff1a;内置科技与新闻热点聚合&#xff08;Readhub&#xff09;&#xff0c;随时掌握最新动态。 3. 极简部署&#xff1a;采用 No-Build 模式…

作者头像 李华
网站建设 2025/12/31 14:27:06

最火流量主壁纸头像小程序源码

这是一款2025最火流量主壁纸头像小程序源码超美UI壁纸小程序带有流量主小程序并且特供图文超详细部署教程&#xff0c;喜欢的自行部署吧&#xff01; 内涵配置域名和广告替换方法&#xff0c;搭建详细教程&#xff0c;带制作姓氏头像页面、星座匹配页面、九宫格拼图页面、创业…

作者头像 李华
网站建设 2025/12/14 0:40:06

简单升压稳压电路 LTspice 结果

简 介&#xff1a; 本文通过LTspice仿真分析了升压电路的工作特性。首先测量了电路的静态工作电流为3.47mA&#xff0c;并测试了不同负载下的转换效率&#xff1a;1kΩ负载时效率为58.9%&#xff0c;100Ω负载时效率达72.8%。实验发现输出电压随负载变化明显&#xff0c;100Ω时…

作者头像 李华
网站建设 2025/12/30 3:01:41

MySQL运维篇——日志和主从复制

日志&#xff08;错误日志&#xff0c;二进制日志&#xff0c;查询日志&#xff0c;慢查询日志&#xff09;&#xff08;1&#xff09;错误日志&#xff1a;服务器运行中发生错误时的相关信息 /var/log/show variables like ‘%log_error%’ ; —查看日志位置&#xff08;2&…

作者头像 李华
网站建设 2025/12/14 0:34:04

Day 34 模块和库的导入

知识点&#xff1a; 1.导入官方库的三种手段 2.导入自定义库/模块的方式 3.导入库/模块的核心逻辑&#xff1a;找到根目录 使用案例 场景1: main.py和circle.py都在同一目录 场景2: main.py和circle.py都在根目录的子目录model/下 场景3: main.py在根目录&#xff0c;circ…

作者头像 李华