MySQL 的 Federated 存儲引擎可以讓您跨多個 MySQL 服務器使用遠程表。這對于數據分析、數據共享和數據集成非常有用。Federated 存儲引擎消除了數據冗余,提高了數據一致性和可靠性。在本文中,我們將介紹如何在 MySQL 中啟用 Federated 存儲引擎。
#在MySQL客戶端使用以下命令,以啟用Federated存儲引擎 mysql>INSTALL PLUGIN federated SONAME 'ha_federated.so'; #驗證是否啟用Federated存儲引擎 mysql>SHOW ENGINES \G *************************** 1. row *************************** Engine: InnoDB Support: DEFAULT Comment: Supports transactions, row-level locking, and foreign keys Transactions: YES . . //省略其它引擎信息 . *************************** 9. row *************************** Engine: FEDERATED Support: YES Comment: Federated MySQL storage engine Transactions: NO . . //省略其它引擎信息 .
在 MySQL 中啟用 Federated 存儲引擎就完成了。現在您可以在當前數據庫中使用 CREATE TABLE 創建一個遠程表。
# 創建一個遠程表 CREATE TABLE `federated_table` ( `id` int(11) NOT NULL, `name` varchar(45) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=FEDERATED DEFAULT CHARSET=utf8mb4 CONNECTION='mysql://federated_user:federated_pass@remote_host/federated_db/federated_table';
在上面的例子中,您需要提供一個有效的連接字符串。連接字符串有以下語法格式:
CONNECTION='mysql://username:password@remote_host/remote_db/remote_table';
現在您可以使用該遠程表進行操作,例如 SELECT、INSERT、UPDATE 和 DELETE 等操作。
總之,雖然 Federated 存儲引擎在不斷的 MySQL 迭代版本中沒有得到很好的支持和更新,但是它仍然是解決分布式數據查詢和集成的有效方法,也有助于架構設計的數據互操作性。希望本文對你有所幫助。
上一篇mysql引擎有啥用
下一篇mysql引用有兩個