1. 什么是OceanBase

OceanBase 数据库是阿里巴巴和蚂蚁集团不基于任何开源产品,完全自研的原生分布式关系数据库软件,在普通硬件上实现金融级高可用,首创“三地五中心”城市级故障自动无损容灾新标准,具备卓越的水平扩展能力,全球首家通过 TPC-C 标准测试的分布式数据库,单集群规模超过 1500 节点。 产品具有云原生、强一致性、高度兼容 Oracle/MySQL 等特性, 承担支付宝 100% 核心链路,在国内几十家银行、保险公司等金融客户的核心系统中稳定运行。

2. OceanBase 安装

OceanBase试用版支持4个安装方式:

  1. 使用 Docker 镜像在 Linux 平台上部署
  2. 使用部署脚本在 Linux 平台上部署
  3. 使用 Docker 镜像在 Windows 平台上部署
  4. 使用 Docker 镜像在 Mac 平台上部署

这里我使用的是第一种方式

2.1 创建挂载目录,并授予权限

sudo chmod -R 777 /your/local/docker/dir

2.2 执行Docker命令

docker run --rm -it --memory 8g -v /your/local/docker/dir:/home/admin/oceanbase -p 2881:2881 -d oceanbase/oceanbase-xe

2.3 进入到OceanBase容器中

docker exec -it containerId/name /bin/bash

OCEANBASE数据库的技术架构 oceanbase数据库使用_OCEANBASE数据库的技术架构

2.4 初始化 OceanBase 实例

./hap.py ob1.reboot

OCEANBASE数据库的技术架构 oceanbase数据库使用_数据库_02

初始化 OceanBase 实例成功之后,会自动创建两个租户,sys 租户和一个普通的 mysql 租户。

3. 本地数据库连接

2.4步骤 执行完后,执行下面命令

# 1. 登录到root账号
./hap.py ob1.sql

# 2. 登录到mysql账号
./hap.py ob1.mysqlmode

OCEANBASE数据库的技术架构 oceanbase数据库使用_OceanBase_03

3.1 数据库操作

show databases;

use mysql;

select user, password, host from user;

OCEANBASE数据库的技术架构 oceanbase数据库使用_mysql_04

4. 远程连接数据库

mysql -h localhost -P 2881 -uroot -Dmysql

OCEANBASE数据库的技术架构 oceanbase数据库使用_Docker_05

4.1 数据库操作

OCEANBASE数据库的技术架构 oceanbase数据库使用_OceanBase_06

5. 结尾

通过远程连接数据库的命令可以看出,OceanBase 的连接和MySQL是一样的。所以项目数据库从MySQL替换成OceanBase的话,应该不用花费太多的时间。(这个后面可以尝试一下)

另外暂时遇到一个问题是,远程连接如果用MySQL的客户端去连的话,会连接不上;CMD的方式连接则不会有问题。这个也需要进一步看看。