MySQL的跨服務器跨庫關聯是指在一個MySQL服務器中操作兩個或多個不同的數據庫,或者在不同的MySQL服務器之間進行數據庫數據的互通。
這種情況下,我們需要使用MySQL中的Federated引擎來達到跨服務器跨庫的數據關聯。Federated引擎允許在不同的MySQL服務器之間共享表,并將其作為一個本地表使用。
#在服務器B上創建一個Federated表,關聯到服務器A上的test庫中的table1表 CREATE TABLE `federated_table1` ( `id` int(11) NOT NULL auto_increment, `name` varchar(20) default NULL, `age` int(11) default NULL, PRIMARY KEY (`id`) ) ENGINE=FEDERATED CONNECTION='mysql://user:password@serverA/test/table1'; #在服務器C上創建一個Federated表,關聯到服務器A上的test庫中的table2表 CREATE TABLE `federated_table2` ( `id` int(11) NOT NULL auto_increment, `address` varchar(50) default NULL, `tel` varchar(20) default NULL, PRIMARY KEY (`id`) ) ENGINE=FEDERATED CONNECTION='mysql://user:password@serverA/test/table2';
上面的例子,我們在不同的MySQL服務器上創建了兩個Federated表federated_table1和federated_table2,并將它們關聯到位于服務器A上的test庫中的table1和table2表。
當我們在服務器B或服務器C上查詢這兩個Federated表時,MySQL會去訪問服務器A中的test庫,然后返回查詢結果。這樣就實現了不同MySQL服務器之間的數據關聯。
上一篇vue koa項目
下一篇c 對json鍵值的提取