预备环境
- unixODBC
可参考该系列第一篇文章:Centos下unixODBC连接数据库 -(一)Oracle12c
一、使用Docker搭建OceanBase(简称ob)服务
1. 下载ob的docker镜像(需提前安装好docker环境)
docker pull docker.io/oceanbase/oceanbase-xe
2. 利用下载好的镜像启动容器,并提供ob服务
docker run -d -it --memory 8g -p 2881:2881 --name ob docker.io/oceanbase/oceanbase-xe:latest
3. 进入容器并初始化集群
docker exec -it ob /bin/bash
./hap.py ob1.reboot
4. 进入数据库
./mysql -h127.1 -uroot@sys -P2881 -p -c -A
/*oceanbase完全兼容mysql,但多了一个租户(tenant)的概念,需要安装mysql客户端,采用ip+端口+用户@tenant+密码的方式链接。
mysql -hxxx.xxx.xxx.xxx -uxxxx@tenant -pxxxx -P2881
-h ob集群所在IP
-u@tenant 用户以及租户名字
-p 密码
-P 端口*/
二、odbc远程连接
ob服务启动成功了,我们还需要安装客户端进行远程连接并操纵数据库。客户端包括mysql和isql(odbc-ob),我们主要介绍后者。
1.下载odbc-ob的rpm包并安装
// ob完全兼容mysql,所以直接使用mysql的odbc驱动即可~
yum install mysql-connector-odbc
2.在unixODBC的配置文件中添加ob数据源和驱动
//ob同时兼容mysql和oracle,使用各自的租户进行连接
//ob启动之后,会初始化两个租户及其各自的账号(密码为空),一个mysql,一个oracle。odbc连接时,注意修改USER即可
// /etc/odbc.ini
// **MYSQL租户**
[ob]
Driver=MySQL
USER=root@sys
Password=
PORT=2881
SERVER=9.134.218.253
Database=test
OPTION=3
charset=UTF8
// **ORACLE租户**
[ob]
Driver=MySQL
USER=sys@oracle
Password=
PORT=2881
SERVER=9.134.218.253
Database=test
OPTION=3
charset=UTF8
// /etc/odbcinst.ini
[MySQL]
Description=ODBC for MySQL
Driver=/usr/lib64/libmyodbc8w.so
Setup=/usr/lib64/libmyodbc8w.so
FileUsage=1
3.连接测试
isql ob -v