一、概述
??dolphin 是MogDB針對MySQL的兼容插件包,其中新增了MySQL數據類型,函數等功能的相關支持。
??對于插件的安裝,MogDB提供了兩個工具gs_install_plugin和gs_install_plugin_local,前者適用于MogDB集群,后者適用于單節點安裝插件;當然對于單節點,也可以使用gs_install_plugin來安裝插件,但是對于一主多備的MogDB集群,卻只能使用gs_install_plugin來完成,因為我們通過可以通過-X選項來指定xml配置文件的位置,然后根據配置文件在集群中的所有節點上完成插件的安裝。
??在安裝dolphin插件的時候并不是一帆風順,路途也是坎坎坷坷,但最后還是安裝成功,理論性的知識就不多說,本文主要就是通過手動實踐的方式來演示在MogDB中如何正確安裝dolphin插件。
二、實踐操作
1.創建插件存放目錄
??默認情況下,在安裝插件時,不指定-p選項(該選項用于指定插件的存放位置),會自動到GPHOME/script/static目錄下尋找(GPHOME就是數據庫的工具目錄),static目錄一開始并沒有,需要我們自己創建;當然我們也可以將插件安裝包放到任何目錄下,只需在安裝插件時指定插件包的路徑。為了方便管理與維護,選擇創建$GPHOME/script/static目錄是明智的選擇:
su - omm
cd $GPHOME/script/
mkdir static
2.下載插件包
??進入MogDB下載界面,選擇介質下載,然后根據自己的操作系統版本和CPU類型下載相應版本的插件包,這里下載的是MogDB3.0.0對應的插件包,該插件包是一個后綴為.tar.gz的壓縮包,大小在70M左右,該包中包含了目前MogDB目前支持的所有的插件:pg_repack、pg_trgm、dblink、wal2json、orafce、pg_bulkload、pg_prewarm。(后續的所有操作都是建立在之前的操作之上,是有序的操作)
//進入到剛剛創建的static目錄中
cd static
//如果你可以上網的話,執行如下命令下載插件包,并賦予其執行的權限
wget https://cdn-mogdb.enmotech.com/mogdb-media/3.0.0/Plugins-3.0.0-CentOS-x86_64.tar.gz
chmod +x Plugins-3.0.0-CentOS-x86_64.tar.gz
3.安裝dolphin插件
??這里使用gs_install_plugin_local進行插件的安裝,成功執行這個命令主要干了兩件事:
1.將插件包解壓
2.將指定安裝的插件的庫文件拷貝到$GAUSSHOME/lib/postgreql目錄下
gs_install_plugin_local --dolphin
4.創建dolphin插件
??dolphin插件需要在兼容類型為B(該類型兼容MySQL)的數據庫中才能創建,所以,不妨我們先連接,然后創建兼容類型為B的測試數據庫:
gsql -d postgres -p 26000 -r
create database cmysql dbcompatibility 'B';
//切換到數據庫cmysql下
\c cmysql
//創建插件:
cmysql=# create extension dolphin ;
ERROR: Can't create dolphin extension lib is not in shared_preload_libraries
??很不如意,并沒有創建成功,報錯說dolphin插件的庫文件并不在shared_preload_libraries中,shared_preload_libraries是一個postmaster類型的參數,其作用為:用于聲明一個或者多個在服務器啟動的時候預先裝載的共享庫,意思我們還要配置一下該參數,讓其預先加載dolphin的庫文件dolphin.so。
??以root用戶的身份查看庫文件dolphin.so的路徑,并配置shared_preload_libraries參數:
//查看庫文件的路徑
[root@zbm ~]# find / -name dolphin.so
/opt/mogdb3.0/tool/script/static/plugins/plugins/dolphin/dolphin.so
/opt/mogdb3.0/app/lib/postgresql/dolphin.so
//修改參數
su - omm
vim /opt/mogdb3.0/data/postgresql.conf
hared_preload_libraries = '/opt/mogdb3.0/app/lib/postgresql/dolphin.so'
//注:參數值寫為/opt/mogdb3.0/app/lib/postgresql/dolphin也可以
//重啟數據庫使配置生效
gs_ctl restart -D /opt/mogdb3.0/data -M primary
再次連接數據庫cmysql,并創建插件:
[omm@zbm ~]$ gsql cmysql -p 26000 -r
gsql ((MogDB 3.0.0 build 62408a0f) compiled at 2022-06-30 14:21:11 commit 0 last mr )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.
cmysql=# create extension dolphin;
CREATE EXTENSION
從輸出可知dolphin插件創建成功,其他的插件不需要配置shared_preload_libraries參數,在已安裝的前提下,能直接創建成功,例如:orafce插件。
===== end =======




