news 2026/6/10 20:47:34

实战 | 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/6/10 14:41:01

排序算法汇总以及java实现

排序算法&#xff08;sorting algorithm&#xff09;用于对一组数据按照特定顺序进行排列。排序算法有着广泛的应用&#xff0c;因为有序数据通常能够被更高效地查找、分析和处理。运行快、原地、稳定、自适应、通用性好。显然&#xff0c;迄今为止尚未发现兼具以上所有特性的排…

作者头像 李华
网站建设 2026/6/10 11:26:57

AI搜索排名GEO优化零售行业案例分享

AI搜索排名GEO优化零售行业案例分享随着AI技术的不断发展&#xff0c;越来越多的零售企业开始利用AI工具来优化其在线搜索排名。其中&#xff0c;GEO&#xff08;Geographic Optimization&#xff09;优化作为一种有效的策略&#xff0c;已经在多个零售企业中取得了显著的效果。…

作者头像 李华
网站建设 2026/6/10 14:44:40

鸿蒙负一屏的技术定位与核心价值

一、鸿蒙负一屏的技术定位与核心价值 ** 鸿蒙负一屏&#xff08;官方名称 “智慧助手・今天”&#xff09;并非传统意义上的信息展示面板&#xff0c;而是 HarmonyOS 全场景生态的核心服务入口与智能交互中枢。其技术定位是通过 “原子化服务 端云协同 AI”&#xff0c;打破应…

作者头像 李华
网站建设 2026/6/10 12:28:45

6、渗透测试:从准备到执行

渗透测试:从准备到执行 1. 渗透测试的实际应用案例 在实际的网络安全领域,一些红队安全公司会提供物理和网络安全渗透测试服务,模拟持续且训练有素的威胁。例如,在美国东北部的一些团队,他们使用隐藏的树莓派作为传感器,通过环境探测找到目标环境的薄弱点,然后利用 st…

作者头像 李华
网站建设 2026/6/10 7:32:41

AMD发布Nitro-E轻量级扩散模型:304M参数实现文本到图像高效生成

在人工智能图像生成领域&#xff0c;模型体积与性能之间的平衡一直是研究热点。AMD近日推出的Nitro-E系列文本到图像扩散模型&#xff0c;以304M的轻量化参数规模&#xff0c;在训练效率与推理速度上实现双重突破&#xff0c;为行业树立了资源友好型AI模型的新标杆。该系列模型…

作者头像 李华
网站建设 2026/6/10 12:28:56

9、目标探索 - 侦察与武器化

目标探索 - 侦察与武器化 1. 密码破解示例 在一个示例中,我们用 HashCat 样本中的 SHA1 哈希填充文件,应用 -rules 选项(允许进行字符替换,数字可与常见替代字符互换),并识别出疑似的哈希类型(SHA1)。我们可以尝试所有格式,碰运气破解,但为减少工作量,最好有一些…

作者头像 李华