news 2026/5/1 6:09:57

实战 | 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进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/30 10:35:23

8.Python3字典(dict):键值的增删改查_入门到进阶

字典是Python中非常强大的内置数据结构&#xff0c;像是一个"智能索引卡片盒"。我们从以下几个方面来讲解&#xff1a; 目录 1. 字典是什么&#xff1f; 2. 创建字典 3. 增&#xff1a;添加键值对 4. 删&#xff1a;删除键值对 5. 改&#xff1a;修改键值对 6…

作者头像 李华
网站建设 2026/5/1 6:09:46

百度网盘提取码智能获取工具:告别繁琐搜索的终极指南

百度网盘提取码智能获取工具&#xff1a;告别繁琐搜索的终极指南 【免费下载链接】baidupankey 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 还在为百度网盘提取码而苦恼吗&#xff1f;每次获得分享链接后都要花费大量时间在原页面寻找那串神秘代码&…

作者头像 李华
网站建设 2026/4/30 17:12:02

Kimi Linear架构革新:重新定义大模型长文本处理效率与性能边界

在人工智能大模型领域&#xff0c;注意力机制一直是制约模型性能与效率的关键瓶颈。传统全注意力架构在处理长文本时面临计算复杂度高、内存占用大等问题&#xff0c;而近期推出的Kimi Linear混合线性注意力架构&#xff0c;通过创新性的设计突破了这一困境。该架构在短文本、长…

作者头像 李华
网站建设 2026/5/1 3:23:29

9合1喝酒聚会全能娱乐微信小程序源码

从摇骰子到人生重启模拟器&#xff0c;一款小程序满足所有聚会娱乐需求&#xff0c;广告变现代码保护全方案还在为朋友聚会时找不到好玩的互动游戏而发愁吗&#xff1f;今天给大家分享一款专为喝酒、聚会场景设计的微信小程序&#xff01;这个小程序集成了9大核心娱乐功能&…

作者头像 李华
网站建设 2026/5/1 5:54:11

百度网盘提取码智能获取工具完整使用指南

百度网盘提取码智能获取工具完整使用指南 【免费下载链接】baidupankey 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 还在为繁琐的百度网盘提取码而困扰吗&#xff1f;每次获取分享资源都要经历复制链接、寻找提取码、手动输入的重复过程&#xff0c;这种…

作者头像 李华