本地 IP1 (192.168.1.100) 需透明訪問遠程 IP2 (112.219.11.139:13306) 上的 rzem.e_hostcomputer 表,像操作本地表一樣增刪改查。
-- 遠程 MySQL 執行 CREATE USER 'fed_user'@'192.168.1.100' IDENTIFIED BY 'StrongPass123!'; GRANT SELECT, INSERT, UPDATE, DELETE ON rzem.e_hostcomputer TO 'fed_user'@'192.168.1.100'; FLUSH PRIVILEGES;
建議: 僅授予必要權限,不用 root。
-- 查詢
SELECT * FROM e_hostcomputer_link LIMIT 10;
-- 插入
INSERT INTO e_hostcomputer_link (CODE, NAME, IP) VALUES ('TEST001', '測試機', '10.0.0.1');
-- 更新
UPDATE e_hostcomputer_link SET STATUS = '1' WHERE CODE = 'TEST001';
-- 刪除
DELETE FROM e_hostcomputer_link WHERE CODE = 'TEST001';
所有操作實時同步到遠程表,無感知。
| 項目 | 說明 |
|---|---|
| 索引 | 聯邦表不支援本地索引,WHERE 條件會推送到遠程執行,依賴遠程索引 |
| 事務 | 不支援跨聯邦表事務,單表操作自動提交 |
| 並發 | 每次查詢建立新連接,高併發下遠程連接數易耗盡 |
| 網路 | 跨機房延遲直接影響響應時間,不適合高頻核心業務 |
| DDL | ALTER TABLE 等結構變更不支援,需手動同步兩端結構 |
| 備份 | mysqldump 只會導出聯邦表定義,不導出遠程數據 |
| 方案 | 優點 | 缺點 | 適用場景 |
|---|---|---|---|
| FEDERATED | 零代碼侵入、透明 SQL | 效能差、無事務、維護難 | 低頻報表、異構數據整合 |
| ETL 同步 (DataX/Canal) | 本地查詢快、支援索引 | 有延遲、需維護同步任務 | 數據倉庫、離線分析 |
| 分庫分表中間件 (ShardingSphere) | 統一路由、支援分布式事務 | 架構複雜、學習成本高 | 微服務、高併發核心業務 |