OceanBase 外置
一、前置条件
- ONES 版本不低于 v6.21.0。
- OceanBase 版本要求 v4.2.4及以上版本(登录数据库执行
select version()
查询)。 - OceanBase 数据库需要开启 Binlog 服务(登录数据库执行
show master status;
可正常输出)。 - OceanBase 需要将
_show_ddl_in_compat_mode
配置打开,通过show variables like '%ddl_in_compat_mode%';
查询看到ON
。 - 需提供 OceanBase 数据库 MySQL 租户的管理员用户和密码。
- 拉取镜像
img.ones.pro/library/mysqldump8:8.0.34_2
放到客户环境,tag 修改为localhost:5000/ones/mysqldump8:8.0.34_2 。
二、ONES 初装
- 根据初装文档完成 ONES 部署,部署完成后先不要使用。
- 补充 OceanBase 数据库相关配置 vi config/private.yaml
dbBrand: "oceanbase"
dbRootUser: "root@TEST#cluster1" # OceanBase 数据库管理员用户, 默认为 root, 这里需要拼上租户名和集群名,比如客户提供的业务租户名为TEST(不能是sys租户,该租户没有binlog权限), 集群名为 cluster1, 则 dbRootUser 要配置为 root@TEST#cluster1;
mysqlRootPassword: "" # OceanBase 数据库管理员用户密码
mysqlHost: "127.0.0.1" # OceanBase 地址
mysqlPort: 2883 # OceanBase 端口
platformMysqlHost: "127.0.0.1" # OceanBase 地址
platformMysqlPort: 2883
pluginMysqlHost: "127.0.0.1"
pluginMysqlPort: 2883
openapiMysqlHost: "127.0.0.1"
openapiMysqlPort: 2883
migrationRuntime: "img.ones.pro/library/mysqldump8:8.0.34_2"
internalComponentMysqlEnable: 'false'
- 执行
make init-db
; - 继续补充 OceanBase 数据库相关配置
vi config/private.yaml
。
dbTenant: "sys#cluster1" # OceanBase 租户名,如果有集群名需要用 # 拼上集群名,比如租户名为 sys 集群名为 cluster1,则 dbTenant 要配置为 sys#cluster1
- 执行
make setup-ones
。 - 执行
make init-team
。 - 最后执行
make rebuild-cdc
,然后即可使用。
三、ONES 迁移
- 根据备份文档完成 ONES 数据备份。
- 补充 OceanBase 数据库相关配置 vi config/private.yaml;已有的配置项,请先注释。具体配置同第二章第2节。
- 执行
make init-db
。 - 继续补充 OceanBase 数据库相关配置,具体配置同第二章第4节。
- 参考MySql外置的“导出 mysql 数据”章节、先从 MySQL 导出得到 SQL 文件,然后再参考官方文档从 SQL 文件导入数据到 OceanBase 数据库在 OB 导入 SQL 文件。
- 执行
make setup-ones
- 最后执行
make rebuild-cdc
,然后即可使用。