泛微网络实践:OceanBase Docker 体验

2024年 5月 7日 55.7k 0

作者简介:王芝超,数据库DBA。

1     安装 docker

1. 新环境安装 docker

yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce docker-ce-cli containerd.io

2     拉取 OceanBase 镜像

安装 oceanbase-ce,拉取镜像并运行

拉取镜像

docker pull obpilot/oceanbase-ce:latest

泛微网络实践:OceanBase Docker 体验-1

 

运行

docker run -itd -m 10G --name oceanbase-ce  obpilot/oceanbase-ce:latest
docker ps  | grep oceanbase-ce

泛微网络实践:OceanBase Docker 体验-2

 

 

登录并启动 oceanbase-ce

# 进入到容器内部

docker exec -it oceanbase-ce bash

 

# 获取集群信息

obd cluster list

 

泛微网络实践:OceanBase Docker 体验-3

 

3     启动OceanBase集群

# 启动集群

泛微网络实践:OceanBase Docker 体验-4

 

查看集群详细信息

obd cluster display obdemo

泛微网络实践:OceanBase Docker 体验-5

 

4     创建业务租户

创建 MySQL 租户

obclient -h127.0.0.1 -uroot@sys -P2881 -prootPWD123 -c -A oceanbase

泛微网络实践:OceanBase Docker 体验-6

 

泛微网络实践:OceanBase Docker 体验-7

 

修改默认的资源规格的最大和最小为一样的值:

泛微网络实践:OceanBase Docker 体验-8

alter resource unit sys_unit_config min_cpu=5,max_memory='2G',min_memory='2G',min_iops=10000;

 

4.1   创建新的资源规格

 

CREATE resource unit  unit_wang max_cpu=2, min_cpu=2, max_memory='1G', min_memory='1G', max_iops=10000, min_iops=1000, max_session_num=1000000, max_disk_size='500G'; 

泛微网络实践:OceanBase Docker 体验-9

4.2   创建资源池

CREATE resource pool my_pool unit = 'unit_wang', unit_num = 1; 

泛微网络实践:OceanBase Docker 体验-10

4.3   创建租户

create tenant tenant_wang resource_pool_list=('my_pool'), primary_zone='RANDOM',comment 'mysql tenant/instance', charset='utf8' set ob_tcp_invited_nodes='%', ob_compatibility_mode='mysql';

 

泛微网络实践:OceanBase Docker 体验-11

 

5     创建业务数据库和表

登录刚刚创建的业务租户tenant_wang

obclient -h 127.1 -uroot@tenant_wang#obce-single -P2883 -p -c -A

创建数据库

create database wang;

创建用户:

create user wang identified by "wang";
grant all privileges on wang.* to wang;

 

使用业务用户登录租户tenant_wang并创建业务表:

业务用户登录

obclient -h 127.1 -uwang@tenant_wang#obce-single -P2883 -p -c -A

创建业务表

CREATE TABLE `accountmoremenuinfo` (
  `id` INT DEFAULT NULL,
  `labelid` INT DEFAULT NULL,
  `customname` VARCHAR(1000) DEFAULT NULL,
  `icon` VARCHAR(1000) DEFAULT NULL,
  `isshow` CHAR(1) DEFAULT NULL,
  `url` VARCHAR(1000) DEFAULT NULL,
  `linkmode` CHAR(1) DEFAULT NULL,
  `type` VARCHAR(10) DEFAULT NULL,
  `shoposition` CHAR(1) DEFAULT NULL,
  `sortnum` INT DEFAULT NULL,
  `sType` VARCHAR(255) DEFAULT NULL,
  `iconType` VARCHAR(100) DEFAULT NULL,
  `iconFrom` VARCHAR(100) DEFAULT NULL,
  `iconImgSrc` VARCHAR(300) DEFAULT NULL
) ;
 
 
CREATE TABLE `actionexecutelog` (
  `id` INT NOT NULL AUTO_INCREMENT COMMENT '自增主键',
  `ACTIONID` TEXT,
  `ACTIONTYPE` INT DEFAULT NULL,
  `DATASHOWCOUNT` INT DEFAULT NULL,
  `CREATEDATE` VARCHAR(80) DEFAULT NULL,
  `CREATETIME` VARCHAR(64) DEFAULT NULL,
  `ModifyDate` VARCHAR(80) DEFAULT NULL,
  `ModifyTime` VARCHAR(64) DEFAULT NULL,
  `clientip` VARCHAR(256) DEFAULT NULL,
  `execresult` INT DEFAULT NULL,
  `actiondbid` VARCHAR(1000) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `idx_0826_actiondbid` (`actiondbid`),
  KEY `idx_0826_createDate` (`CREATEDATE`)
) ;
 
 
 
CREATE TABLE `actionsetting` (
  `id` INT NOT NULL AUTO_INCREMENT COMMENT '自增主键',
  `ACTIONNAME` VARCHAR(1000) DEFAULT NULL,
  `ACTIONCLASS` TEXT,
  `TYPENAME` VARCHAR(160) DEFAULT NULL,
  `ACTIONSHOWNAME` VARCHAR(1000) DEFAULT NULL,
  `CREATEDATE` VARCHAR(80) DEFAULT NULL,
  `CREATETIME` VARCHAR(64) DEFAULT NULL,
  `MODIFYDATE` VARCHAR(80) DEFAULT NULL,
  `MODIFYTIME` VARCHAR(64) DEFAULT NULL,
  `javacode` TEXT,
  `uuid` VARCHAR(50) DEFAULT '0',
  `subcompanyid` INT DEFAULT NULL,
  PRIMARY KEY (`id`)
) AUTO_INCREMENT=152 ;

泛微网络实践:OceanBase Docker 体验-12

 

 

 

6     避坑指南

6.1   Docker 问题

安装完 docker 后查找 OceanBase 镜像报错

 

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

 

原因:安装完成 docker 后未启动。启动 docker 服务后即可

service docker start

 

泛微网络实践:OceanBase Docker 体验-13

 

 

6.2   登录 OceanBase 时报错

Access denied for user

泛微网络实践:OceanBase Docker 体验-14

此处的集群名称不是 obdemo

泛微网络实践:OceanBase Docker 体验-15

集群名称需要登录租户查看参数 cluster 获取

泛微网络实践:OceanBase Docker 体验-16

 

6.3   修改资源单元规格时报错

ERROR 1064 (42000): Parse error

如果参数是用 M,G,T 等修饰,参数值需要为整数。或者转换成数字形式即可修改。

 

泛微网络实践:OceanBase Docker 体验-17

————————————————

 

附录:

练习题:

实践练习一(必选):OceanBase Docker 体验 

实践练习二(必选):手动部署 OceanBase 集群 

实践练习三(可选):使用OBD 部署一个 三副本OceanBase 集群 

实践练习四(必选):迁移 MySQL 数据到 OceanBase 集群 

实践练习五(可选):对 OceanBase 做性能测试 

实践练习六(必选):查看 OceanBase 执行计划 

还没交作业的小伙伴要抓紧啦!

可以免费带走 OBCP 考试券喔~~

方法一:完成四道必选练习

方法二:任意一道练习题 ➕ 结业考试超过80分

已经有很多同学抢先答题了,

加入钉钉群(群号3582 5151),和大家一起学习、交流~~

进群二维码:

泛微网络实践:OceanBase Docker 体验-18

 

 

 

 

 

 

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论