預(yù)備環(huán)境
- unixODBC
可參考該系列第一篇文章:Centos下unixODBC連接數(shù)據(jù)庫 -(一)Oracle12c
一、使用Docker搭建OceanBase(簡稱ob)服務(wù)
1. 下載ob的docker鏡像(需提前安裝好docker環(huán)境)
docker pull docker.io/oceanbase/oceanbase-xe
2. 利用下載好的鏡像啟動容器,并提供ob服務(wù)
docker run -d -it --memory 8g -p 2881:2881 --name ob docker.io/oceanbase/oceanbase-xe:latest
3. 進(jìn)入容器并初始化集群
docker exec -it ob /bin/bash
./hap.py ob1.reboot
4. 進(jìn)入數(shù)據(jù)庫
./mysql -h127.1 -uroot@sys -P2881 -p -c -A
/*oceanbase完全兼容mysql,但多了一個(gè)租戶(tenant)的概念,需要安裝mysql客戶端,采用ip+端口+用戶@tenant+密碼的方式鏈接。
mysql -hxxx.xxx.xxx.xxx -uxxxx@tenant -pxxxx -P2881
-h ob集群所在IP
-u@tenant 用戶以及租戶名字
-p 密碼
-P 端口*/
二、odbc遠(yuǎn)程連接
ob服務(wù)啟動成功了,我們還需要安裝客戶端進(jìn)行遠(yuǎn)程連接并操縱數(shù)據(jù)庫??蛻舳税╩ysql和isql(odbc-ob),我們主要介紹后者。
1.下載odbc-ob的rpm包并安裝
// ob完全兼容mysql,所以直接使用mysql的odbc驅(qū)動即可~
yum install mysql-connector-odbc
2.在unixODBC的配置文件中添加ob數(shù)據(jù)源和驅(qū)動
//ob同時(shí)兼容mysql和oracle,使用各自的租戶進(jìn)行連接
//ob啟動之后,會初始化兩個(gè)租戶及其各自的賬號(密碼為空),一個(gè)mysql,一個(gè)oracle。odbc連接時(shí),注意修改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

image.png