現在位置: 首頁 > Mysql > 正文

MySQL federated 引擎本地資料庫 連接遠端資料庫,MySQL也可以擁有 DBLink 的功能

以前在使用 MS SQL Server 的時候因為可能必須跟別個資料庫進行串接,有可能會利用到 DBLink 來操作 SQL命令 來遠端資料庫,在 MySQL 本身並不具有 DBLink,但幸好也有對應的方法可以使用,也就是 federated 引擎

 

在 MySQL 中針對不同的功能提供了各式儲存引擎,其中 federated 就是一個針對遠程資料庫操作的實現,透過 federated 所創建的資料表只會在 local 建立含有 schema 的空資料表,而 data 來源則是遠端

 

 

MySQL 啟動 federated 引擎

一般預設 MySQL 都會搭載 federated 引擎但不見得有開啟,本篇會從安裝 federated 開始

 

檢查 federated 是否有開啟,如果 federated 的 Support = YES 代表你可以略過以下解決方案建立 federated 資料表!

一般在建立 federated 引擎可能會遇到兩種狀況

 

狀況1. federated Support = NO,從 5.1.26 開始 MySQL 預設不開啟 federated 引擎,所以必須從 my.cnf 加入 federated 啟動

 

狀況2. 沒有 federated,連 support = no 都沒有,這代表在安裝 MySQL 的時候沒有編譯進來,可以選擇動態編譯,但你必須確認擁有 ha_federated.so 的 lib,通常在 /usr/lib64/mysql/plugin 或是 /usr/local/mysql/lib/mysql/plugin

 

以上都沒有問題之後就可以接下來建立 federated table

建立 federated table 必須注意的點是 ENGINE 必須使用 federated,然後使用 CONNECTION 參數來告訴 federated 遠端資料庫的連線資訊

 

使用 federated 因為是使用網路連線來抓取 data,所以使用 federated 的時候網路狀況可能是一項瓶頸,但這是一個比較不耗費本機資源的方式,實作上其實還是可以利用 replication 將資料複寫回來,避免網路中斷的狀況

 

文章連結: https://shazi.info/mysql-federated-%e5%bc%95%e6%93%8e%e6%9c%ac%e5%9c%b0%e8%b3%87%e6%96%99%e5%ba%ab-%e9%80%a3%e6%8e%a5%e9%81%a0%e7%ab%af%e8%b3%87%e6%96%99%e5%ba%ab%ef%bc%8cmysql%e4%b9%9f%e5%8f%af%e4%bb%a5%e6%93%81/ | Mr. 沙先生

該文章由 shazi7804 於2015年12月24日發表在 Mysql 分類下, 你可以發表回文,並在保留原文地址及作者的情况下引用到你的網站或部落格。
原文轉載請註明: MySQL federated 引擎本地資料庫 連接遠端資料庫,MySQL也可以擁有 DBLink 的功能 | Mr. 沙先生
標籤: , ,

MySQL federated 引擎本地資料庫 連接遠端資料庫,MySQL也可以擁有 DBLink 的功能:給Mr.沙先生一點建議

發表回文