OceanBase数据库实战:Windows Docker部署与DBeaver无缝对接
一、媒介OceanBase 是一款高性能、高可扩展的分布式数据库,适用于大规模数据处理惩罚和企业级应用。
随着大数据和云盘算的普及,OceanBase 在企业数字化转型中扮演着重要角色。学习 OceanBase 可以帮助开辟者掌握先进的分布式数据库技能,提升数据管理能力。使用 Docker 安装 OceanBase 简化了部署流程,让用户无需复杂的情况配置即可快速启动,得当开辟者进行实验和学习。
本文将介绍如何在 Docker 上安装 OceanBase,使用 DBeaver 毗连数据库,创建库表并查询数据。
https://i-blog.csdnimg.cn/img_convert/a925fc47c1744bd5270a3adeae8f808b.png
2019 年,OceanBase 数据库 V2.2 版本参加代表 OLTP 数据库最权势巨子的 TPC-C 评测,以 6000 万 tpmC 的结果登顶天下第一。随后,在 2020 年,又以 7 亿 tpmC 革新纪录。OceanBase 数据库是第一个上榜 TPC-C 的分布式数据库,也是第一个上榜的中国数据库。
这份闪耀环球的结果单背后,埋伏着一场历时十年的“极限长征”:从阿里工程师在机房彻夜鏖战的草稿纸推演,到支付宝核心系统迁徙前夕的惊险48小时;从被质疑“分布式架构无法承载金融级事务”的至暗时刻,到以开源代码重新界说行业尺度的破局之路……
后续我们会专门开辟篇章,深入报告 OceanBase 的发展历程,带大家明白这款分布式数据库从无到有、从弱到强的传奇故事。
二、下载安装
2.1 情况准备
操纵系统:Windows 11
Docker工具:Docker Desktop
(Docker Desktop安装配置可参考之前文章:Windows安装Docker Desktop,具体步骤 https://blog.csdn.net/qq_17153885/article/details/141337873?spm=1001.2014.3001.5501)
2.2 拉取镜像
Docker 情况准备好之后,就可以在主机上启动容器了,恰好 OceanBase 提供了单机版的镜像,完善适用于快速体验的场景。
OceanBase 的单机版镜像 oceanbase/oceanbase-ce, 按照版本以差异的 tag 分别,latest 默认对应的是最新发布的版本,体验最新版本,可以直接使用 latest 作为 tag,或者不写 tag。
按win+r,启动运行界面,输入cmd
https://i-blog.csdnimg.cn/img_convert/bfb9d76047142dfd8b1b824394bf9f6b.png
在运行界面,执行如下下令,拉取镜像
docker pull oceanbase/oceanbase-ce
https://i-blog.csdnimg.cn/img_convert/8bb6c75ad7efb324f993c3a1806b4995.png
拉取后,在Docker Desktop可查看oceanbase镜像
https://i-blog.csdnimg.cn/img_convert/8608f815823343ad0c71e8f795a229cf.png
备注:如果拉取失败,大概镜像源失效。可私信(公众号:技海拾贝),获取最新可用镜像源
2.3 启动单节点OceanBase数据库实例
运行以下下令(这里本次操纵选择mini 独立实例),启动 OceanBase 数据库的实例:
docker run -p 2881:2881 --name oceanbase-ce -e MINI_MODE=1 -d oceanbase/oceanbase-ce
根据当前容器部署最大规格的实例
docker run -p 2881:2881 --name oceanbase-ce -e MINI_MODE=0 -d oceanbase/oceanbase-ce
部署 mini 的独立实例
docker run -p 2881:2881 --name oceanbase-ce -e MINI_MODE=1 -d oceanbase/oceanbase-ce
https://i-blog.csdnimg.cn/img_convert/27d3d353714add3817ca33e45c1a6419.png
https://i-blog.csdnimg.cn/img_convert/419fe4f63550d14537452c445aeed0ee.png
启动预计需要 2-3 分钟。执行以下下令,如果返回 boot success!,则启动成功。
查看日记
docker logs oceanbase-ce
https://i-blog.csdnimg.cn/img_convert/51ee787ad2f3f4ada42ccb9ae472efcb.png
https://i-blog.csdnimg.cn/img_convert/c6b927706ae2924cf369c3a19815449f.png
2.4 毗连数据库实例
oceanbase-ce 镜像安装了 OBD(OceanBase Deployer,OceanBase 安装部署工具)和 OBClient(OceanBase 下令行客户端)。您可选择进入容器,使用 OBD 下令管理和 OBClient 客户端毗连实例,也可使用宿主机本地 OBClient 或 MySQL 客户端毗连到 OceanBase 数据库实例。
在 OceanBase 的 Docker 容器中还自带了常用的一些工具,在部署完之后可以直接用来做一些验证。
#切换终端到docker容器
# docker exec -it oceanbase-ce bash
#检查集群状态
# obd cluster list
+------------------------------------------------------------+
| Cluster List |
+-----------+------------------------------+-----------------+
| Name | Configuration Path | Status (Cached) |
+-----------+------------------------------+-----------------+
| obcluster | /root/.obd/cluster/obcluster | running |
1.进入 Docker 容器
docker exec -it oceanbase-ce bash
https://i-blog.csdnimg.cn/img_convert/825dfa77c02c92db74e75cfcc18e4360.png
通过DeskTop进入也可以
https://i-blog.csdnimg.cn/img_convert/ec3092381272dcc09fddb7b2728e231a.png
2.查看集群详情
#查看集群列表
obd cluster list
#查看 obcluster 集群详情
obd cluster display obcluster
obd cluster list
https://i-blog.csdnimg.cn/img_convert/3b72f7995bd2d0782e6263dae81284b7.png
https://i-blog.csdnimg.cn/img_convert/a0f7e1b702eea5e8521311cf59354c34.png
3.毗连数据库
使用以下下令可以使用 sys 租户毗连到 OceanBase 数据库,毗连数据库,默认root密码为空
obclient -h127.0.0.1 -uroot@sys -A -Doceanbase -P2881 -p
https://i-blog.csdnimg.cn/img_convert/740ef03011d2017e707b089f2baa65a6.png
4.执行sql语句
show databases;
https://i-blog.csdnimg.cn/img_convert/a1eaca642238c36bd731d9ebf7ec565a.png
5.创建用户及密码
[*] 创建用户 :在源端业务租户下创建用户,用于数据迁徙或数据同步。对于 OceanBase 数据库 MySQL 租户,使用以下下令:
CREATE USER 'user_name' IDENTIFIED BY 'password';
对于 OceanBase 数据库 Oracle 租户,使用以下下令:
CREATE USER user_name IDENTIFIED BY password;
[*] 为用户授权 :通过 GRANT 语句为创建的数据库用户授权,例如:
GRANT SELECT ON db_name.* TO user_name;
具体的授权语句和权限范围根据实际需求确定。
假设您有一个用户 test_user,盼望授予其全部数据库的全部权限,可以执行以下下令:
sql复制
GRANT ALL ON *.* TO 'test_user'@'%';
https://i-blog.csdnimg.cn/img_convert/009f37fb69110c6c01e06a26cbdddd57.png
CREATE USER 'zhangsan' IDENTIFIED BY 'td98761n'
GRANT ALL ON *.* TO 'zhangsan'@'%';
三、通过 DBeaver 毗连 OceanBase 数据库
DBeaver 是一款通用的数据库客户端工具,其原理是使用各个数据库提供的 JDBC 驱动毗连数据库,支持常见的关系型数据库、非关系型数据库、分布式数据库等等。
使用 DBeaver 自带的 OceanBase 驱动或 MySQL 驱动均可毗连 OceanBase 数据库的 MySQL 租户,本文将以 OceanBase 驱动为例介绍如何使用 DBeaver 毗连 OceanBase 数据库的 MySQL 租户。
注意:发起升级DBeaver版本到最新版(例如目前最新版24.3.5),较低版本没有OceanBase选项,需要下载驱动毗连
3.1 新建毗连
可以单击文件下方的毗连符https://i-blog.csdnimg.cn/img_convert/d653da1fd11d9f8820f2f0503376a7cc.png进入到选择数据库页面
https://i-blog.csdnimg.cn/img_convert/0e184118aa6fd46f9659a9a2737141ec.png
https://i-blog.csdnimg.cn/img_convert/2c0c60bef4f7b27434eafb9fdfc09f55.png
这里使用上述创建的账号,密码。当 毗连测试 弹窗中表现 已毗连,表示可成功毗连,单击 确定 后,单击 完成 即可毗连到 OceanBase 数据库。
https://i-blog.csdnimg.cn/img_convert/8cf467c5c83ec255738af92ec56c6d7a.png
https://i-blog.csdnimg.cn/img_convert/b50460cc4d5bffbb8f91441870acf65e.png
3.2 创建表
CREATE TABLE user1(
id bigint NOT NULL AUTO_INCREMENT COMMENT "主键id",
name varchar(64) NOT NULL COMMENT "姓名",
age int NOT NULL COMMENT "年龄",
enable_flag TINYINT COMMENT "是否可用(10-可用,20-删除)"
)
https://i-blog.csdnimg.cn/img_convert/61b39e1b332dfce6e69fd0be0464564c.png
3.3 插入数据
INSERT INTO user1(name, age, enable_flag)
values('技海拾贝',39, 10),
('张三', 51, 20),
('李四',27, 10);
https://i-blog.csdnimg.cn/img_convert/28bdd158424d3028e57491b461c58b93.png
https://i-blog.csdnimg.cn/img_convert/19d0f48628e7229f586419624c188032.png
3.4 查询数据
SELECT *
FROM
user1
WHERE
enable_flag =20;
https://i-blog.csdnimg.cn/img_convert/8daa64387ec86a464e93c268ff830b19.png
OceanBase 以原生分布式架构重塑数据库效能边界,开源生态与金融级稳定性使其成为企业数字化转型的利器。通过本文,您已解锁 OceanBase 的基础操纵,而其真正的代价在于应对海量数据、高并发场景的无穷潜力——无论是弹性扩缩容、HTAP 混淆负载,还是跨地域多活,皆为业务增长提供坚实底座。
如果你对 OceanBase 以及分布式数据库有更深入的兴趣,欢迎继续关注我们的后续文章,我们将深入探讨其高级功能与实际应用场景。
https://i-blog.csdnimg.cn/img_convert/c09d8cd7171fb6006742ac8ce69ca7f4.gif
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]