一、环境准备

1、环境信息

192.168.184.191

在这里插入图片描述

2、关闭防火墙

systemctl stop firewalld.service
systemctl disbale firewalld.service
systemctl status firewalld.service

在这里插入图片描述

3、安装包下载

(1)官网下载

https://www.oceanbase.com/softwarecenter

在这里插入图片描述

(2)网盘地址

通过网盘分享的文件:oceanbase-all-in-one-4.3.5_bp2_hf1_20250527.el7.x86_64.tar.gz
链接: https://pan.baidu.com/s/1M2ZfKeoCLUOS5Ah00-Qjqw?pwd=8m9f
提取码: 8m9f 

4、上传安装包

cd /root/
ll

在这里插入图片描述

二、进行安装OBD

1、解压安装包

cd /root/
tar -xzf oceanbase-all-in-one-*.tar.gz
ll

在这里插入图片描述

2、进行安装

cd oceanbase-all-in-one/bin/
./install.sh

在这里插入图片描述
在这里插入图片描述

3、更新环境变量

source ~/.oceanbase-all-in-one/bin/env.sh

在这里插入图片描述

4、查看帮助

obd -h

在这里插入图片描述

三、安装OceanBase数据库

1、安装安装OceanBase数据库

这里有如下几种部署的方式,我选择第一种,默认部署

(1)部署默认组件

会自动部署 OceanBase 数据库、OBProxy、OBAgent、Prometheus 和 Grafana,默认版本为镜像库中最新版本。

obd demo

在这里插入图片描述
遇到如下错误,是因为要设置系统参数,当前不满足数据库安装需求
在这里插入图片描述
设置系统参数

echo -e "* soft nofile 20000\n* hard nofile 20000" >> /etc/security/limits.d/nofile.conf
obd cluster init4env demo

在这里插入图片描述
重启机器

shutdown -r now

再次执行安装数据库操作

obd demo

在这里插入图片描述

+---------------------------------------------+
|                 oceanbase-ce                |
+-----------+---------+------+-------+--------+
| ip        | version | port | zone  | status |
+-----------+---------+------+-------+--------+
| 127.0.0.1 | 4.3.5.2 | 2881 | zone1 | ACTIVE |
+-----------+---------+------+-------+--------+
obclient -h127.0.0.1 -P2881 -uroot@sys -p'7XAAO7ij7W2b0SaC3upq' -Doceanbase -A

cluster unique id: b82b0a76-02a3-5496-b283-bf7a0f27148f-1974944d64d-02050304

Connect to obproxy ok
+---------------------------------------------------------------+
|                           obproxy-ce                          |
+-----------+------+-----------------+-----------------+--------+
| ip        | port | prometheus_port | rpc_listen_port | status |
+-----------+------+-----------------+-----------------+--------+
| 127.0.0.1 | 2883 | 2884            | 2885            | active |
+-----------+------+-----------------+-----------------+--------+
obclient -h127.0.0.1 -P2883 -uroot -p'7XAAO7ij7W2b0SaC3upq' -Doceanbase -A

Connect to Obagent ok
+--------------------------------------------------------------------+
|                              obagent                               |
+-----------------+--------------------+--------------------+--------+
| ip              | mgragent_http_port | monagent_http_port | status |
+-----------------+--------------------+--------------------+--------+
| 192.168.184.191 | 8089               | 8088               | active |
+-----------------+--------------------+--------------------+--------+
Connect to Prometheus ok
+--------------------------------------------------------+
|                       prometheus                       |
+-----------------------------+------+----------+--------+
| url                         | user | password | status |
+-----------------------------+------+----------+--------+
| http://192.168.184.191:9090 |      |          | active |
+-----------------------------+------+----------+--------+
Connect to grafana ok
+-----------------------------------------------------------------------+
|                                grafana                                |
+-----------------------------------------+-------+------------+--------+
| url                                     | user  | password   | status |
+-----------------------------------------+-------+------------+--------+
| http://192.168.184.191:3000/d/oceanbase | admin | lebDi4Og8m | active |
+-----------------------------------------+-------+------------+--------+

(2)部署默认组件,并指定 OceanBase 数据库版本

obd demo --oceanbase-ce.version=4.3.3.0

(3)仅部署 OceanBase 数据库

obd demo -c oceanbase-ce

2、连接到数据库

部署成功后可复制输出中的连接串
在这里插入图片描述

(1)使用默认密码进行连接

使用 OBClient 客户端连接到 OceanBase 数据库,如下:

@sys         是租户名称
-Doceanbase  是连到oceanbase数据库
-A           是 obclient 的交互优化参数,用于禁用自动补全功能,
			 适用于需要提升响应速度或简化输入的场景。
obclient -h127.0.0.1 -P2881 -uroot@sys -p'7XAAO7ij7W2b0SaC3upq' -Doceanbase -A

在这里插入图片描述

(2)修改默认密码

ALTER USER root IDENTIFIED BY 'admin';

在这里插入图片描述

四、基础操作

1、租户相关

可参考:租户常见操作
在这里插入图片描述

(1)查看租户

USE oceanbase;
select * from __all_tenant \G;

在这里插入图片描述
或者

SELECT * FROM oceanbase.DBA_OB_TENANTS;

在这里插入图片描述

(2)创建租户

创建租户要先创建资源规格和资源池

(a)查看已有资源规格信息
USE oceanbase;
SELECT * FROM oceanbase.DBA_OB_UNIT_CONFIGS \G;

在这里插入图片描述

(b)创建资源规格
CREATE RESOURCE UNIT S1_unit_config
                MEMORY_SIZE = '1G',
                MAX_CPU = 1, MIN_CPU = 1,
                LOG_DISK_SIZE = '2G',
                MAX_IOPS = 10000, MIN_IOPS = 10000, IOPS_WEIGHT=1;
                
SELECT * FROM oceanbase.DBA_OB_UNIT_CONFIGS \G;

在这里插入图片描述

(c)创建资源池

建资源规格后,可以在创建资源池时指定资源规格,从而使用相应大小的资源单元,并最终分配给相应的租户。

先查看资源池信息

USE oceanbase;
SELECT * FROM oceanbase.DBA_OB_RESOURCE_POOLS;

在这里插入图片描述
创建资源池
这里的ZONE_LIST要和你的一致,不能多出来,UNIT对应上面创建的资源规格。

CREATE RESOURCE POOL mq_pool_01 
                UNIT='S1_unit_config', 
                UNIT_NUM=1, 
                ZONE_LIST=('zone1');  

SELECT * FROM oceanbase.DBA_OB_RESOURCE_POOLS;

在这里插入图片描述

(d)创建租户

查看租户信息,当前这个租户是mysql模式的

SELECT * FROM oceanbase.DBA_OB_TENANTS;

在这里插入图片描述
我们来创建一个的租户,默认是mysql模式的

CREATE TENANT IF NOT EXISTS mq_t1 
                PRIMARY_ZONE='zone1', 
                RESOURCE_POOL_LIST=('mq_pool_01')
                set OB_TCP_INVITED_NODES='%';	
                
SELECT * FROM DBA_OB_TENANTS WHERE TENANT_NAME = 'mq_t1' \G;                

在这里插入图片描述
在这里插入图片描述

(3)使用新租户登录

默认管理员用户(MySQL 模式为 root,Oracle 模式为 sys)的密码为空,您需要及时修改管理员用户的密码。

obclient -h192.168.184.191 -P2883 -uroot@mq_t1 -A

在这里插入图片描述

(a)修改密码
ALTER USER root IDENTIFIED BY 'admin';

在这里插入图片描述

(b)查看当前数据库

在这里插入图片描述

(c)查看有哪些用户
select user_id,user_name,host,passwd from oceanbase.__all_user;
select user,host,password,plugin from mysql.user;

在这里插入图片描述

2、用户相关

这里我使用的是之前的sys租户进行登录的

obclient -h127.0.0.1 -P2881 -uroot@sys -p'admin' -Doceanbase -A

在这里插入图片描述

(1)创建用户

CREATE USER 'ob'@'%' IDENTIFIED BY 'admin';
CREATE USER 'ob2'@'%' IDENTIFIED BY 'admin';
CREATE USER 'ob3'@'%' IDENTIFIED BY 'admin';

在这里插入图片描述

(2)查看用户

select user_id,user_name,host,passwd from oceanbase.__all_user;

在这里插入图片描述
或者

select user,host,password,plugin from mysql.user;

在这里插入图片描述

(3)删除用户

drop user ob2;

在这里插入图片描述

千万不要去delete表!如果手动delete表oceanbase.__all_user中的记录的话,是不会同步到mysql.user表的,因为mysql.user是虚拟表,而虚拟表不能执行DML操作。
例如:delete表oceanbase.__all_user中的ob3和ob4用户,在mysql.user还是能查到。

delete from oceanbase.__all_user where user_name='ob3';
delete from oceanbase.__all_user where user_name='ob4';

select user_id,user_name,host,passwd from oceanbase.__all_user;
select user,host,password,plugin from mysql.user;

在这里插入图片描述

但是my.user表是不能delete的,所以会导致数据不一致!!
在这里插入图片描述

(4)用户授权

GRANT ALL PRIVILEGES ON *.* TO 'ob'@'%';

在这里插入图片描述

(5)用户登录

使用新用户进行登录

obclient -h127.0.0.1 -P2881 -uob -p'admin' -Doceanbase -A

在这里插入图片描述

3、数据库相关

(1)查看数据库

show databases;

在这里插入图片描述

(2)创建数据库

create database my_ob;
create database my_ob2;

在这里插入图片描述

(3)删除数据库

create database my_ob2;
show databases;
drop database my_ob2;
show databases;

在这里插入图片描述

4、表相关

(1)创建表

use my_ob;
show tables;
create table t1(id int primary key,name varchar(20));
create table t2(id int primary key,name varchar(20));
create table t3(id int primary key,name varchar(20));
show tables;

在这里插入图片描述

(2)删除表

use my_ob;
show tables;
drop table t2;
drop table t3;
show tables;

在这里插入图片描述

(3)插入数据

use my_ob;
INSERT INTO t1 (id, name) VALUES
(1, 'Alice'),
(2, 'Bob'),
(3, 'Charlie'),
(4, 'David'),
(5, 'Eve'),
(6, 'Frank'),
(7, 'Grace'),
(8, 'Henry'),
(9, 'Ivy'),
(10, 'Jack');

在这里插入图片描述

(4)查询数据

use my_ob;
select * from t1;

在这里插入图片描述

(5)删除数据

use my_ob;
select * from t1;
delete from t1 where id > 5;
select * from t1;

在这里插入图片描述

(6)清空表

use my_ob;
select * from t1;
truncate table t1;
select * from t1;

在这里插入图片描述

五、各个组件介绍

在安装结束,输出了一堆插件的信息,如下:
在这里插入图片描述

1、oceanbase-ce

在这里插入图片描述

(1)介绍

端口 2881 是 OceanBase 核心服务节点(Observer)的默认服务端口。Observer 是集群的数据存储和处理核心,直接负责 SQL 执行、事务管理、数据持久化等。
此命令直接连接 Observer 节点,适用于​​单节点部署​​或​​测试环境​​(需明确知道 Observer 的 IP 和端口)。

(2)连接信息

obclient -h127.0.0.1 -P2881 -uroot@sys -p'QFqFG21t6CGwkQHFoaWt' -Doceanbase -A

在这里插入图片描述

2、 obproxy-ce

在这里插入图片描述

(1)介绍

端口 2883 是代理服务(OBProxy)的默认服务端口。OBProxy 是集群的流量入口,负责请求路由、负载均衡、连接管理等,客户端通常通过 OBProxy 访问集群(尤其是生产环境)。
此命令通过 OBProxy 连接集群,OBProxy 会根据负载均衡策略将请求转发到合适的 Observer 节点,​​无需客户端感知底层节点细节​​。

(2)连接信息

obclient -h127.0.0.1 -P2883 -uroot -p'QFqFG21t6CGwkQHFoaWt' -Doceanbase -A

在这里插入图片描述

3、obagent

在这里插入图片描述

(1)介绍

Obagent(监控代理)是 OceanBase 的轻量级监控组件,负责收集集群节点的运行指标(如 CPU、内存、磁盘使用率,SQL 执行量等),并上报给 Prometheus 用于监控告警。

(2)连接信息

http://192.168.184.191:8088/
http://192.168.184.191:8089/

在这里插入图片描述

4、prometheus

在这里插入图片描述

(1)介绍

开源监控系统,通过拉取 Obagent 上报的指标(端口 8088),存储并分析 OceanBase 集群的运行数据。其 Web 界面 URL 为 http://192.168.184.191:9090(默认无认证)。

(2)连接信息

http://192.168.184.191:9090/targets?search=

在这里插入图片描述

5、 grafana

在这里插入图片描述

(1)介绍

开源可视化工具,通过连接 Prometheus(数据源),提供 OceanBase 集群的监控仪表盘(Dashboard)。此处已预配置了 OceanBase 专用仪表盘

(2)连接信息

http://192.168.184.191:3000/d/oceanbase
admin | nFVQqm8NgZ

在这里插入图片描述

六、关机重启服务

详细可参考:集群命令组
在这里插入图片描述

1、查看集群

obd cluster list

在这里插入图片描述

2、重启集群

obd cluster restart demo

在这里插入图片描述
在这里插入图片描述

3、停止集群

obd cluster stop demo
obd cluster list

4、查看进程

ps -ef | grep oceanbase-ce
ps -ef | grep obagent
ps -ef | grep obproxy-ce
ps -ef | grep prometheus
ps -ef | grep grafana

在这里插入图片描述

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐