Federated存儲引擎訪問在遠程數據庫的表中的數據,而不是本地的表。創建一個Federated表的時候,服務器在數據庫目錄創建一個表定義文件。無其它表被創建,因為實際的數據在一個遠程數據庫上。這不同於為本地表工作的存儲引擎的方式。
1. 檢查當前服務器配置是否支持Federated存儲引擎:
Show Engines;
查詢結果,如果Federated行對應的Support列值為YES,說明當前服務器支持Federated存儲引擎。
如果Federated行對應的Support列值為NO,需要我們進行配置。找到服務器安裝目錄下my.ini文件;記事本打開文件添加Federated;保存;重啟服務器。
2. 在遠程服務器上,創建本地表;並導入數據。
() () () ` () InnoDB CHARSET `departmentweekdata` (`department`, `week`, `interval`, ``) , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , );
3. 在本地服務器上創建Federated表。
() () () ` ;
其中連接字符串示例:CONNECTION='mysql://root:[email protected]:3306/dbTest/TestTable';
4. 如果使用MySQL客戶端工具,可以創建Federated Server:
5. 如果創建了Federated Server,創建Federated表可以用下面的方式:
() () () ` ;
6.創建好Federated表以後,就可以訪問遠程數據庫表中的數據了。