白屏web界面引领OceanBase部署新纪元:告别命令行,拥抱可视化操作
本文聚焦 OceanBase 核心部署方式,从环境准备到实操步骤,再到常用命令总结,全方位呈现 OBD 3.5.0 部署 OceanBase 社区版单机数据库的最佳实践,辅以清晰的步骤编号、命令示例和注意事项,助力读者零障碍完成部署。
个人简介
作者: ShunWah
公众号: “顺华星辰运维栈”主理人。持有认证: OceanBase OBCA/OBCP、MySQL OCP、OpenGauss、崖山 DBCA、亚信 AntDBCA、翰高 HDCA、GBase 8a | 8c | 8s、Galaxybase GBCA、Neo4j Graph Data Science Certification、NebulaGraph NGCI & NGCP、东方通 TongTech TCPE 等多项权威认证。
获奖经历: 在OceanBase&墨天轮征文大赛、OpenGauss、TiDB、YashanDB、Kingbase、KWDB 征文等赛事中多次斩获一、二、三等奖,原创技术文章常年被墨天轮、CSDN、ITPUB 等平台首页推荐。
- 公众号:顺华星辰运维栈
- CSDN: shunwahma
- 墨天轮:shunwah
- ITPUB: shunwah
- IFClub:shunwah

在数据库部署的漫长历程中,命令行曾是开发者与运维人员不可或缺的工具。它虽强大,却也因操作复杂、学习成本高、易出错等问题,让不少用户望而却步。如今,随着OBD 3.5.0版本的震撼发布,这一局面迎来了根本性变革——白屏界面的引入,让OceanBase的部署从此告别繁琐命令行,步入轻松可视化的全新时代。
新版OBD 3.5.0不仅继承了前代版本的高效稳定特性,更在用户体验上实现了质的飞跃。其白屏界面设计,将复杂的部署流程转化为直观的图形化操作,用户只需通过简单的点击与配置,即可完成从前需要多步命令才能实现的部署任务。这一变革,不仅大幅降低了部署门槛,让更多非专业用户也能轻松上手,更在效率与准确性上实现了双重提升,为企业的数字化转型之路铺设了更为坚实的基石。
在启动部署前,需完成以下基础配置,避免因环境问题导致部署失败(以 CentOS 7.9 为例):
| 检查项 | 要求 | 验证命令 |
|---|---|---|
| 操作系统 | CentOS 7.6+ / Ubuntu 20.04+ |
cat /etc/redhat-release |
| 内存 | ≥ 4GB(推荐 8GB) |
free -h |
| CPU | ≥ 2 核(推荐 4 核) |
lscpu | grep "CPU(s):" |
| 磁盘空间 | ≥ 20GB 可用空间 |
df -h |
| 网络连通性 | 可访问互联网(下载依赖) |
ping github.com |
| 防火墙状态 | 关闭或开放指定端口 |
systemctl status firewalld |
| 依赖工具 | gcc、make、python3 等 |
rpm -qa | grep gcc |
cat /etc/redhat-release
输出示例:
[root@worker3 ~]# cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core)

free -h
输出示例:
[root@worker3 ~]# free -h total used free shared buff/cache available Mem: 27G 7.2G 11G 92M 9.2G 18G Swap: 8.0G 0B 8.0G

lscpu | grep "CPU(s):"
输出示例:
[root@worker3 ~]# lscpu | grep "CPU(s):" CPU(s): 8 NUMA node0 CPU(s): 0-7

df -h
输出示例:
[root@worker3 ~]# df -Th Filesystem Type Size Used Avail Use% Mounted on devtmpfs devtmpfs 14G 0 14G 0% /dev tmpfs tmpfs 14G 0 14G 0% /dev/shm tmpfs tmpfs 14G 93M 14G 1% /run tmpfs tmpfs 14G 0 14G 0% /sys/fs/cgroup /dev/mapper/centos-root ext4 91G 78G 7.8G 91% / /dev/sda2 ext4 190M 119M 58M 68% /boot /dev/sdb1 xfs 200G 60G 141G 30% /data tmpfs tmpfs 2.8G 0 2.8G 0% /run/user/0 overlay overlay 200G 60G 141G 30% /data/docker_data/docker/overlay2/a9f9ecc64c98f1f891d4007f2fa20dd4c2b32c8c29c767b4eafbd0cf8b6c40d1/merged

ping github.com
输出示例:
[root@worker3 ~]# ping github.com PING github.com (20.205.243.166) 56(84) bytes of data. 64 bytes from 20.205.243.166 (20.205.243.166): icmp_seq=1 ttl=106 time=113 ms 64 bytes from 20.205.243.166 (20.205.243.166): icmp_seq=2 ttl=106 time=113 ms 64 bytes from 20.205.243.166 (20.205.243.166): icmp_seq=3 ttl=106 time=113 ms 64 bytes from 20.205.243.166 (20.205.243.166): icmp_seq=4 ttl=106 time=113 ms --- github.com ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3003ms rtt min/avg/max/mdev = 113.300/113.624/113.785/0.457 ms

systemctl status firewalld
输出示例:
[root@worker3 ~]# systemctl status firewalld ● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled) Active: inactive (dead) Docs: man:firewalld(1)

rpm -qa | grep gcc
输出示例:
[root@worker3 ~]# rpm -qa | grep gcc libgcc-4.8.5-44.el7.x86_64 gcc-ia64-linux-gnu-4.8.5-16.el7.1.x86_64 gcc-c++-sparc64-linux-gnu-4.8.5-16.el7.1.x86_64 ...(更多输出)

systemctl stop firewalld # 停止防火墙systemctl disable firewalld # 禁止开机启动
输出示例:
[root@worker3 ~]# systemctl stop firewalld [root@worker3 ~]# systemctl disable firewalld

yum install -y gcc make openssl-devel python3 python3-pip libaio
输出示例:
[root@worker3 ~]# yum install -y gcc make openssl-devel python3 python3-pip libaio Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: mirrors.aliyun.com * updates: mirrors.aliyun.com ...(安装过程) Complete!

临时生效:
sysctl -w vm.swappiness=0 sysctl -w net.core.somaxconn=2048
输出示例:
[root@worker3 ~]# sysctl -w vm.swappiness=0 vm.swappiness = 0 [root@worker3 ~]# sysctl -w net.core.somaxconn=2048 net.core.somaxconn = 2048
永.久生效(写入配置文件):
echo "vm.swappiness=0" >> /etc/sysctl.confecho "net.core.somaxconn=2048" >> /etc/sysctl.conf sysctl -p # 刷新配置
输出示例:
[root@worker3 ~]# echo "vm.swappiness=0" >> /etc/sysctl.conf [root@worker3 ~]# echo "net.core.somaxconn=2048" >> /etc/sysctl.conf [root@worker3 ~]# sysctl -p ...(输出当前所有sysctl配置) vm.swappiness = 0 net.core.somaxconn = 2048

添加额外内核参数:
echo "vm.overcommit_memory=0" >> /etc/sysctl.confecho "fs.file-max=6573688" >> /etc/sysctl.conf sysctl -p
输出示例:
[root@worker3 ob43]# echo "vm.overcommit_memory=0" >> /etc/sysctl.conf; sysctl -p ...(输出当前所有sysctl配置) vm.overcommit_memory = 0

[root@worker3 ob43]# echo "fs.file-max=6573688" >> /etc/sysctl.conf; sysctl -p ...(输出当前所有sysctl配置) fs.file-max = 6573688

检查OBD是否已安装:
obd --version
输出示例(未安装时):
[root@worker3 bin]# obd --version bash: obd: command not found...

检查端口与进程:
netstat -tunlp | grep 2881 # 确认无OceanBase默认端口占用ps -ef | grep obd # 无相关进程残留
输出示例:
[root@worker3 bin]# netstat -tunlp | grep 2881 [root@worker3 bin]# ps -ef | grep obd root 95963 108413 0 15:38 pts/0 00:00:00 grep --color=auto obd

mkdir -p /data/obd350cd /data/obd350
输出示例:
[root@worker3 data]# mkdir obd350 [root@worker3 data]# cd obd350/

从官方仓库下载 3.5.0 版本源码包:
wget https://github.com/oceanbase/obdeploy/archive/refs/tags/v3.5.0.tar.gz
输出示例:
[root@worker3 obd350]# wget https://github.com/oceanbase/obdeploy/archive/refs/tags/v3.5.0.tar.gz --2025-09-04 13:02:29-- https://github.com/oceanbase/obdeploy/archive/refs/tags/v3.5.0.tar.gz Resolving github.com (github.com)... 20.205.243.166 Connecting to github.com (github.com)|20.205.243.166|:443... connected. Unable to establish SSL connection.
从 OceanBase 官网下载安装包:
https://www.oceanbase.com/softwarecenter

下载到本地后上传到服务器:
[root@worker3 obd350]# ls ob-deploy-3.5.0-5.el7.x86_64.rpm

使用 rpm 命令安装 OBD:
rpm -ivh ob-deploy-3.5.0-5.el7.x86_64.rpm
输出示例:
[root@worker3 obd350]# rpm -ivh ob-deploy-3.5.0-5.el7.x86_64.rpm Preparing... ################################# [100%] Updating / installing... 1:ob-deploy-3.5.0-5.el7 ################################# [100%] Installation of obd finished successfully Please source /etc/profile.d/obd.sh to enable it

obd --version
输出示例:
[root@worker3 obd350]# obd --version OceanBase Deploy: 3.5.0 REVISION: 44567bd3badf6bd36a6b73f5ddcd66682da47574 BUILD_BRANCH: HEAD BUILD_TIME: Aug 19 2025 17:18:14OURCE Copyright (C) 2025 OceanBase License Apache 2.0: Apache version 2 or later <https://www.apache.org/licenses/LICENSE-2.0>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

"白屏部署"通过 Web 可视化界面操作,全程鼠标点击,适合零基础用户。
obd web start # 默认端口 8080,后台运行
输出示例:
[root@worker3 obd350]# obd web start start OBD WEB in 0.0.0.0:8680 please open http://127.0.0.1:8680

obd web start --port 8081obd web stop打开本地浏览器,输入服务器 IP:端口(如
http://127.0.0.1:8080),进入部署首页(首.次访问需同意协议)。

点击首页"新建部署" → 选择"单机部署" → 点击"下一步"。
ob_single_web,建议英文+数字)127.0.0.1(本地部署),端口默认
2881/data/ob/data,需提前创建目录并授权)2G(根据服务器内存调整,不超过总内存的 50%)2 核界面会实时显示部署阶段:
通过以下命令启动 OBD 的 Web 管理界面:
obd web
成功启动后将输出访问地址,例如:
start OBD WEB in 0.0.0.0:8680 please open http://127.0.0.1:8680
说明:
8680,可使用
obd web -p <端口号> 指定其它端口。

在"部署配置"界面中需设置以下内容:


在"节点配置"界面中设置:

完成配置后点击【下一步】进入集群配置。

在此界面中需配置以下内容:


配置完成后进入预检查环节:
查看所有配置信息,可返回上一步修改
点击【预检查】进行系统验证

若出现错误:
修复后点击【重新检查】再次验证

预检查通过后,点击【部署】开始安装。
太棒了!检查全部成功!

部署过程将自动进行,成功后界面将显示:


操作建议:
obd web连接信息示例:
[
{ "component": "oceanbase-ce", "access_url": "127.0.0.1:2881", "user": "root@sys", "password": "T+%p=A;c8:AupMI", "connect_url": "obclient -h127.0.0.1 -P2881 -uroot@sys -p'T+%p=A;c8:AupMI' -Doceanbase -A"
},
{ "component": "obproxy-ce", "access_url": "127.0.0.1:2883", "user": "root@proxysys", "password": "y6e)0l0)RnU=~eS", "connect_url": "obclient -h127.0.0.1 -P2883 -uroot@proxysys -p'y6e)0l0)RnU=~eS' -Doceanbase -A \n"
},
{ "component": "prometheus", "access_url": "127.0.0.1:9098", "user": "admin", "password": "P&Gct0Z6j,?_OvFc%c[", "connect_url": "http://127.0.0.1:9098"
},
{ "component": "grafana", "access_url": "127.0.0.1:3008", "user": "admin", "password": "Ar1=wj-?[NgX)kP.5XKjSHBE", "connect_url": "http://127.0.0.1:3008/d/oceanbase"
},
{ "component": "obshell_dashboard", "access_url": "http://127.0.0.1:2886", "user": "root", "password": "T+%p=A;c8:AupMI", "connect_url": "http://127.0.0.1:2886"
}
]
查看部署报告:

部署成功后可以创建业务租户:


创建业务租户:
租户名称:obd_single 租户模式:mysql

创建成功信息:
配置完成后点击【下一步】创建租户,成功后将显示租户连接信息。
基本信息 租户名称:obd_single 租户模式:mysql 租户 root 密码:}SilA/mW(uAiFG)a2#i=kK[Tz9C#9r 连接字符串:obclient -h127.0.0.1 -P'2881' -uroot@obd_single -p'}SilA/mW(uAiFG)a2#i=kK[Tz9C#9r' -Doceanbase -A 配置模式:最大占用 租户规格:6vCPUs 9Gi 35 GiB 业务负载类型:htap 字符集:utf8mb4 字符序:utf8mb4_general_ci 表名大小写敏感:1 时区:(GMT+08:00)中国标准时间 IP 地址白名单:127.0.0.1

部署完成后,页面显示"部署成功",可以查看集群状态为"运行中"。
obd cluster list # 查看所有集群,应包含 "ob_single_web",状态为 "running"
输出示例:
[root@worker3 obd350]# obd cluster list +--------------------------------------------------------------------+ | Cluster List | +---------------+----------------------------------+-----------------+ | Name | Configuration Path | Status (Cached) | +---------------+----------------------------------+-----------------+ | ob_single_web | /root/.obd/cluster/ob_single_web | deployed | +---------------+----------------------------------+-----------------+

访问地址及账密信息:
请妥善保存以下访问地址及账密信息,OceanBase 未保存账密信息,丢失后无法找回
连接测试:
mysql -h127.0.0.1 -P2881 -uroot@sys -p'T+%p=A;c8:AupMI' -Doceanbase -A
输出示例:
[root@worker3 ob43]# mysql -h127.0.0.1 -P2881 -uroot@sys -p'T+%p=A;c8:AupMI' -Doceanbase -A mysql: [Warning] Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3221508791 Server version: 5.7.25 OceanBase_CE 4.3.5.3 (r103010012025090210-8b80b225c2dcba7dd0c83f3d5a24e3c1ffc03f24) (Built Sep 2 2025 10:25:24) Copyright (c) 2000, 2025, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>

连接测试:
mysql -h127.0.0.1 -P2883 -uroot@proxysys -p'y6e)0l0)RnU=~eS' -Doceanbase -A
输出示例:
[root@worker3 ob43]# mysql -h127.0.0.1 -P2883 -uroot@proxysys -p'y6e)0l0)RnU=~eS' -Doceanbase -A mysql: [Warning] Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 974389250 Server version: 5.6.25 Copyright (c) 2000, 2025, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>





netstat -tunlp | grep 2881 # 确认OceanBase默认端口已启用ps -ef | grep obd # 查看相关进程
输出示例:
[root@worker3 ob43]# netstat -tunlp | grep 2881 tcp 0 0 0.0.0.0:2881 0.0.0.0:* LISTEN 72242/observer [root@worker3 ob43]# ps -ef | grep obd root 31978 121330 0 15:00 pts/2 00:00:00 grep --color=auto obd root 75532 1 0 14:33 ? 00:00:01 /data/ob43/grafana/bin/grafana-server --homepath=/data/ob43/grafana --config=/data/ob43/grafana/conf/obd-grafana.ini --pidfile=/data/ob43/grafana/run/grafana.pid

部署完成后可使用以下命令管理集群:
obd cluster list
输出示例:
[root@worker3 obd350]# obd cluster list +--------------------------------------------------------------------+ | Cluster List | +---------------+----------------------------------+-----------------+ | Name | Configuration Path | Status (Cached) | +---------------+----------------------------------+-----------------+ | ob_single_web | /root/.obd/cluster/ob_single_web | deployed | +---------------+----------------------------------+-----------------+

obd cluster display ob_single_web
输出示例:
[root@worker3 obd350]# obd cluster display ob_single_web Deploy "ob_single_web" is deployed See https://www.oceanbase.com/product/ob-deployer/error-codes .

obd cluster stop ob_single_web
输出示例:
[root@worker3 obd350]# obd cluster stop ob_single_web Get local repositories ok Get local repositories and plugins ok Open ssh connection ok Stop observer ok Stop obshell ok Stop obproxy-ce ok Stop obagent ok Stop prometheus ok Stop grafana ok ob_single_web stopped

obd cluster destroy ob_single_web
输出示例:
[root@worker3 obd350]# obd cluster destroy ob_single_web Are you sure to destroy the "ob_single_web" cluster ? [y/n]: y Get local repositories ok Open ssh connection ok Get deployment connections ok Get standbys info ok Cluster status check ok oceanbase-ce work dir cleaning ok obproxy-ce work dir cleaning ok obagent work dir cleaning ok prometheus work dir cleaning ok grafana work dir cleaning ok ob_single_web destroyed

通过 OBD 3.5.0 的白屏部署功能,我们可以轻松完成 OceanBase 单机版的安装和配置。本文详细介绍了从环境准备到最终部署的全过程,包括:
OBD 的白屏部署功能极大地简化了 OceanBase 的安装流程,降低了使用门槛,使得更多用户能够快速体验和使用 OceanBase 数据库。无论是初学者还是有经验的 DBA,都可以通过这种方式高效地完成部署工作。
建议初次使用的用户按照本文的步骤逐步操作,遇到问题时参考常见问题处理部分。部署成功后,可以进一步探索 OceanBase 的更多功能和特性,如分布式部署、性能调优、高可用配置等。
通过以上步骤,即可完成 OceanBase 集群的图形化部署与基本管理。如需更多功能请参考官方文档。
作者注:
——本文所有操作及测试均基于 OceanBase 的 OBD 3.5.0 版本完成。请注意,OceanBase 和 OBD 3.5.0 版本处于持续迭代中,部分语法或功能可能随更新发生变化,请以 OceanBase 官方文档 最新内容为准。
——以上仅为个人思考与建议,不代表行业普适观点。以上所有操作均需在具备足够权限的环境下执行,涉及生产环境时请提前做好备份与测试。文中案例与思路仅供参考,若与实际情况巧合,纯属无意。期待与各位从业者共同探讨更多可能!
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70042915/viewspace-3095101/ ,如需转载,请注明出处,否则将追究法律责任。