federated儲存引擎實現跨伺服器的資料訪問
【前言】資料庫之間的跨伺服器的訪問在實際的工作中經常用到,最常見的是不同資料庫的資料比對和資料抽取。針對這個需求ORACLE可以透過透明閘道器和DBLINK的方式來滿足;MySQL提供了儲存引擎federated可以實現該功能;
【1】FEDERATED的安裝
首先檢查資料庫當前儲存引擎的安裝情況,預設的情況下FEDERATED的儲存引擎不會隨著資料庫進行安裝的;
1.1 檢查資料庫當前儲存引擎的安裝指令碼:show engines
當前的資料庫沒有安裝FEDERATED;
1.2 透過INSTALL PLUGIN的方式安裝federated儲存引
mysql> install plugin federated soname 'ha_federated.so'; Query OK, 0 rows affected, 1 warning (0.08 sec)
mysql> show engines; |
顯示當前FEDERATED儲存引擎已經安裝好,但是未啟用;
1.3 啟動FEDERATED儲存引擎,修改/etc/my.cnf引數,在[mysqld]下面新增:federated,重啟mysql
mysql> show engines |
【2】FEDERATED的使用
當要訪問遠端的表時,需要在本地的資料庫建立一個具有同樣表結構使用FEDERATED儲存引擎的表,當訪問這個表的時候,系統會自動遠端訪問到遠端的資料庫表;
測試步驟和環境說明
在伺服器A 資料庫test下面建立表john
mysql>CREATE TABLE `john` ( `id` varchar(32) DEFAULT NULL,UNIQUE KEY `index-123` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
mysql> insert into john values(1),(2),(3); mysql> select * from john; |
在伺服器B 資料庫test下面建立相應的表federated_john
mysql> CREATE TABLE federated_john (
mysql> select * from federated_john; mysql> insert into federated_john values(4),(5),(6); #可以透過federated_john修改資料 mysql> select * from federated_john; |
在伺服器A下面查詢
mysql> select * from john; |
在伺服器B下面檢視儲存資料,只有表結構並沒有相應的資料
【3】連線指令碼注意事項,federated連線字串的格式說明
mysql> CREATE TABLE federated_john ( |
其中CONNECTION的格式如下:
mysql://user_name[:password]@host_name[:port_num]/db_name/tbl_name
【總結】利用federated儲存引擎構建表的時候,可以快速實現跨資料庫的訪問和修改,為一些特殊場景的應用提供了良好的解決辦法;
由於是跨主機的訪問,所以當表數量級別達到十萬以上的時候,整個訪問的速度相對本機有很明顯的效率問題。
......................................................................................................................................................................………………………………………………………………………………….
本文作者:JOHN,某上市公司DBA,業餘時間專注於資料庫的技術管理,從管理的角度去運用技術。
技術部落格:獵人筆記 資料庫技術群:367875324 (請備註資料庫型別)
......................................................................................................................................................................…………………………………………………………………………………….
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12679300/viewspace-1570483/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- FEDERATED儲存引擎實現oracle dblink功能及弊端儲存引擎Oracle
- MySQL federated儲存引擎測試MySql儲存引擎
- MySQL 遠端連線(federated儲存引擎)MySql儲存引擎
- SQL Server跨庫跨伺服器訪問實現SQLServer伺服器
- 【伺服器資料恢復】infortrend儲存資料無法訪問的資料恢復案例伺服器資料恢復
- innodb儲存引擎鎖的實現(一)儲存引擎
- (轉)面向Web 2.0的儲存引擎設想:充分利用資料訪問扭曲Web儲存引擎
- MySQL 資料庫儲存引擎MySql資料庫儲存引擎
- InnoDB儲存引擎MVCC實現原理儲存引擎MVC
- MySQL資料庫的儲存引擎(轉)MySql資料庫儲存引擎
- MySQL資料庫操作、儲存引擎MySql資料庫儲存引擎
- 伺服器資料的儲存伺服器
- 跨域訪問實現依據跨域
- SQL Server 資料訪問策略:儲存過程QCSQLServer儲存過程
- EMQ X 與 HStreamDB 整合實踐:通過規則引擎實現資料儲存MQ
- EMQ X 與 HStreamDB 整合實踐:透過規則引擎實現資料儲存MQ
- 伺服器資料恢復—nas儲存硬碟出現故障離線導致無法訪問的資料恢復案例伺服器資料恢復硬碟
- MyISAM 儲存引擎,Innodb 儲存引擎儲存引擎
- MySQL資料庫儲存引擎簡介MySql資料庫儲存引擎
- MyRocks儲存引擎資料結構解析儲存引擎資料結構
- MySQL 常用資料儲存引擎區別MySql儲存引擎
- [轉]SQLServer跨伺服器訪問資料庫(openrowset/opendatasource/openquery)SQLServer伺服器資料庫ENQ
- 從零實現 k-v 儲存引擎儲存引擎
- 重新學習Mysql資料庫3:Mysql儲存引擎與資料儲存原理MySql資料庫儲存引擎
- MySQL的nnodb引擎表資料分割槽儲存MySql
- 分散式文件儲存資料庫之MongoDB訪問控制分散式資料庫MongoDB
- 【伺服器資料恢復】nas儲存伺服器硬碟故障離線導致無法訪問的資料恢復案例伺服器資料恢復硬碟
- 資料庫表設計之儲存引擎資料庫儲存引擎
- 資料庫沒有完美的儲存引擎資料庫儲存引擎
- Android基礎與應用 資料儲存與訪問Android
- 實現報表資料分庫儲存
- MySQL如何實現萬億級資料儲存?MySql
- 用DNA儲存資料成為現實
- MySQL中InnoDB儲存引擎的實現和執行原理MySql儲存引擎
- 儲存引擎儲存引擎
- AES實現財務資料的加密解密儲存加密解密
- MySQL利用FREDATED實現跨例項訪問MySql
- 如何延長儲存伺服器上資料的儲存時間?伺服器