暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

泛微网络实践:OceanBase Docker 体验

作者简介:王芝超,数据库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


 

运行


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


 

 

登录并启动 oceanbase-ce

# 进入到容器内部

docker exec -it oceanbase-ce bash

 

# 获取集群信息

obd cluster list

 

 


3     启动OceanBase集群

# 启动集群

 

查看集群详细信息


obd cluster display obdemo


 


4     创建业务租户

创建 MySQL 租户


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


 

 

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



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'; 



4.2   创建资源池

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



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';

 

 


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 ;

 

 

 


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

 

 

 


6.2   登录 OceanBase 时报错

Access denied for user



此处的集群名称不是 obdemo



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


 


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

ERROR 1064 (42000): Parse error

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

 

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论