mysql跨服務(wù)查詢(xún)之FEDERATED存儲(chǔ)引擎的實(shí)現(xiàn)
一、FEDERATED存儲(chǔ)引擎
01、從5.1.26開(kāi)始,默認(rèn)MySQL不啟用federated存儲(chǔ)引擎,所以需要在my.cnf中加入federated選項(xiàng)
02、或是在命令行用–federated選項(xiàng)啟動(dòng)mysqld。
1.1、說(shuō)明:
mysql 提供了一個(gè)類(lèi)似Oracle中的數(shù)據(jù)庫(kù)鏈接(DBLINK)功能
的存儲(chǔ)引擎–FEDERATED
當(dāng)我們創(chuàng)建一個(gè)以FEDERATED為存儲(chǔ)引擎的表時(shí),服務(wù)器在數(shù)據(jù)庫(kù)目錄只創(chuàng)建一個(gè)表定義文件。文件由表的名字開(kāi)始,并有一個(gè)frm擴(kuò)展名。無(wú)其它文件被創(chuàng)建,因?yàn)閷?shí)際的數(shù)據(jù)在一個(gè)遠(yuǎn)程數(shù)據(jù)庫(kù)上。這不同于為本地表工作的存儲(chǔ)引擎的方式。
1.2、局限性
遠(yuǎn)程服務(wù)器必須是一個(gè)MySQL服務(wù)器
。
遠(yuǎn)程服務(wù)器必須是一個(gè)MySQL服務(wù)器。
FEDERATED對(duì)其它數(shù)據(jù)庫(kù)引擎的支持可能會(huì)在將來(lái)被添加,目前不支持其他數(shù)據(jù)庫(kù),跨服務(wù)器遠(yuǎn)程其他類(lèi)型數(shù)據(jù)庫(kù)可以采用創(chuàng)建遠(yuǎn)程連接服務(wù)器的方式
FEDERATED表指向的遠(yuǎn)程表在你通過(guò)FEDERATED表訪(fǎng)問(wèn)它之前必須存在。
一個(gè)FEDERATED表指向另一個(gè)FEDERATED表是可能的,但是你必須小心不要?jiǎng)?chuàng)建一個(gè)循環(huán)。
沒(méi)有對(duì)事務(wù)的支持。
如果遠(yuǎn)程表已經(jīng)改變,對(duì)FEDERATED引擎而言是沒(méi)有辦法知道的。
a、這個(gè)的原因是因?yàn)檫@個(gè)表必須象數(shù)據(jù)文件一樣工作,除了數(shù)據(jù)庫(kù)其它任何都不會(huì)被寫(xiě)入。
b、如果有任何對(duì)遠(yuǎn)程數(shù)據(jù)庫(kù)的改變,本地表中數(shù)據(jù)的完整性可能會(huì)被破壞。
FEDERATED存儲(chǔ)引擎支持SELECT, INSERT, UPDATE, DELETE和索引。
它不支持ALTER TABLE, DROP TABLE或任何其它的數(shù)據(jù)定義語(yǔ)言語(yǔ)句。當(dāng)前的實(shí)現(xiàn)不使用預(yù)先準(zhǔn)備好的語(yǔ)句。
執(zhí)行使用SELECT, INSERT, UPDATE和DELETE,但不用HANDLER。
FEDERATED表不能對(duì)查詢(xún)緩存不起作用。
目前的局限性是這些。
這些限制中的一些在FEDERATED處理機(jī)的將來(lái)版本可能被消除。
1.3、跨服務(wù)的方式
- mysql的FEDERATED存儲(chǔ)引擎
- oracle的dblink
- 創(chuàng)建遠(yuǎn)程連接服務(wù)器
- 大數(shù)據(jù)的presto,接管數(shù)據(jù)源,然后聚合分析
- fink cdc也是一種方案
二、開(kāi)啟FEDERATED存儲(chǔ)引擎
1.1、查看存儲(chǔ)引擎
- 存在的FEDERATED存儲(chǔ)引擎就配置文件開(kāi)啟
- 不存在就安裝
查看
show engines;
Support 的值有以下幾個(gè):
- YES 支持并開(kāi)啟
- DEFAULT 支持并開(kāi)啟, 并且為默認(rèn)引擎
- NO 不支持
- DISABLED 支持,但未開(kāi)啟
如圖:
1.1.1、不存在存儲(chǔ)引擎-安裝
federated是支持動(dòng)態(tài)安裝的
install plugin federated soname 'ha_federated.so';
注明:如果不行話(huà),就重新編碼安裝mysql吧
1.2、開(kāi)啟存儲(chǔ)引擎
在mysql的配置文件中加入federated,然后重啟mysql
注意:要放在mysqld的模塊下,放在其他模塊下無(wú)法識(shí)別變量
如圖:
可以登入,表示變量識(shí)別成功
查看存儲(chǔ)引擎
yes表示開(kāi)啟成功
1.3、拓展mysql存儲(chǔ)引擎對(duì)比
三、跨服務(wù)連接示例
FEDERATED存儲(chǔ)引擎開(kāi)啟成功了
1.1、 目標(biāo):
本地mysql去鏈接云服務(wù)器的mysql
1.2、創(chuàng)建關(guān)系
注意:如果遠(yuǎn)程表已經(jīng)改變,對(duì)FEDERATED引擎而言是沒(méi)有辦法知道的
要了解FEDERATED存儲(chǔ)引擎的局限性,看本文1.2的說(shuō)明
如果有任何對(duì)遠(yuǎn)程數(shù)據(jù)庫(kù)的改變,本地表中數(shù)據(jù)的完整性可能會(huì)被破壞
建議:表名要見(jiàn)名知意,知道他是遠(yuǎn)程連接的表,就像下面的示例:link_xx_xx表
創(chuàng)建
-- 創(chuàng)建出結(jié)構(gòu)一樣的表,表名可以不一樣 CREATE TABLE `link_yun_sys_user` ( `id` int(50) NOT NULL, `username` varchar(50) DEFAULT NULL, `password` varchar(50) DEFAULT NULL, `update_time` datetime DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE = FEDERATED CONNECTION='mysql://root:root@81.1x.2xx.10:3306/testLink/sys_user' -- 指定引擎為 FEDERATED -- 指定用戶(hù)名、密碼、ip、端口、數(shù)據(jù)庫(kù)、表
如圖:
1.2.1、權(quán)限說(shuō)明
如果數(shù)據(jù)庫(kù)有做權(quán)限限制,比如用戶(hù)權(quán)限,增刪改查權(quán)限,要進(jìn)行授權(quán),才能進(jìn)行操作
1.3、成功效果
1.4、增刪改查
本地新增1條數(shù)據(jù)
INSERT INTO link_yun_sys_user(id,username,`password`,update_time) VALUES('2','lisi','8888',NOW());
云服務(wù)器查看
SELECT * FROM sys_user
到此這篇關(guān)于mysql跨服務(wù)查詢(xún)之FEDERATED存儲(chǔ)引擎的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)mysql FEDERATED存儲(chǔ)引擎內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL統(tǒng)計(jì)時(shí)間差的平均值方式
這篇文章主要介紹了MySQL統(tǒng)計(jì)時(shí)間差的平均值方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11mysql函數(shù)split功能實(shí)現(xiàn)
mysql 5.* 的版本現(xiàn)在沒(méi)有split 函數(shù),但有些地方會(huì)用,在這里就簡(jiǎn)單記錄一下2012-09-09MySQL通過(guò)自定義函數(shù)實(shí)現(xiàn)遞歸查詢(xún)父級(jí)ID或者子級(jí)ID
這篇文章主要介紹了MySQL通過(guò)自定義函數(shù)實(shí)現(xiàn)遞歸查詢(xún)父級(jí)ID或者子級(jí)ID,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-11-11mysql innodb 異常修復(fù)經(jīng)驗(yàn)分享
這篇文章主要介紹了mysql innodb 異常修復(fù)經(jīng)驗(yàn)分享,需要的朋友可以參考下2017-04-04CentOS7 通過(guò)YUM安裝MySQL5.7的步驟詳解
這篇文章主要介紹了CentOS7 通過(guò)YUM安裝MySQL5.7的步驟詳解,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-01-01Mysql數(shù)據(jù)庫(kù)性能優(yōu)化二
這篇文章主要介紹了Mysql數(shù)據(jù)庫(kù)性能優(yōu)化二 的相關(guān)資料,需要的朋友可以參考下2016-04-04mysql中json基礎(chǔ)查詢(xún)?cè)斀?附圖文)
MySQL提供了一些函數(shù)來(lái)對(duì)JSON數(shù)據(jù)進(jìn)行操作,下面這篇文章主要給大家介紹了關(guān)于mysql中json基礎(chǔ)查詢(xún)的相關(guān)資料,文中通過(guò)圖文以及實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-10-10MYSQL ZIP免安裝版配置步驟及圖形化管理工具mysql-workbench
在 windows7 64位操作系統(tǒng)下配置mysql-5.5.25-winx64 (免安裝版),記錄步驟如下2014-03-03