1. 什么是OceanBase
OceanBase 数据库是阿里巴巴和蚂蚁集团不基于任何开源产品,完全自研的原生分布式关系数据库软件,在普通硬件上实现金融级高可用,首创“三地五中心”城市级故障自动无损容灾新标准,具备卓越的水平扩展能力,全球首家通过 TPC-C 标准测试的分布式数据库,单集群规模超过 1500 节点。 产品具有云原生、强一致性、高度兼容 Oracle/MySQL 等特性, 承担支付宝 100% 核心链路,在国内几十家银行、保险公司等金融客户的核心系统中稳定运行。
2. OceanBase 安装
OceanBase试用版支持4个安装方式:
这里我使用的是第一种方式
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
2.4 初始化 OceanBase 实例
./hap.py ob1.reboot
初始化 OceanBase 实例成功之后,会自动创建两个租户,sys 租户和一个普通的 mysql 租户。
3. 本地数据库连接
在 2.4步骤 执行完后,执行下面命令
# 1. 登录到root账号
./hap.py ob1.sql
# 2. 登录到mysql账号
./hap.py ob1.mysqlmode
3.1 数据库操作
show databases;
use mysql;
select user, password, host from user;
4. 远程连接数据库
mysql -h localhost -P 2881 -uroot -Dmysql
4.1 数据库操作
5. 结尾
通过远程连接数据库的命令可以看出,OceanBase 的连接和MySQL是一样的。所以项目数据库从MySQL替换成OceanBase的话,应该不用花费太多的时间。(这个后面可以尝试一下)
另外暂时遇到一个问题是,远程连接如果用MySQL的客户端去连的话,会连接不上;CMD的方式连接则不会有问题。这个也需要进一步看看。