透過SSH 隧道和聯合表進行MySQL 跨伺服器選擇查詢
使用MySQL 執行跨伺服器選擇查詢,這是一種常見的查詢方法是在其中一台伺服器上建立聯合表。透過基於遠端表建立聯邦表,您可以像查詢本機資料一樣查詢資料。
步驟:
CREATE TABLE federated_table ( id INT(20) NOT NULL AUTO_INCREMENT, name VARCHAR(32) NOT NULL DEFAULT '', other INT(20) NOT NULL DEFAULT '0', PRIMARY KEY (id), INDEX name (name), INDEX other_key (other) ) ENGINE=FEDERATED DEFAULT CHARSET=latin1 CONNECTION='mysql://fed_user@remote_host:9306/federated/test_table';
範例:
考慮以下設定:
Server IP | Database |
---|---|
1.2.3.4 | Test |
a.b.c.d | Test |
您可以在伺服器1.2.3.4 上建立聯合表來存取伺服器a.b.c.d上的表,使用以下查詢:
CREATE TABLE federated_table ( id INT(20) NOT NULL AUTO_INCREMENT, name VARCHAR(32) NOT NULL DEFAULT '', other INT(20) NOT NULL DEFAULT '0', PRIMARY KEY (id), INDEX name (name), INDEX other_key (other) ) ENGINE=FEDERATED DEFAULT CHARSET=latin1 CONNECTION='mysql://fed_user@a.b.c.d:9306/Test/test_table';
建立聯合表後,您可以如下查詢它:
SELECT * FROM federated_table;
此查詢將從伺服器a.b.c.d 上的test_table 表中檢索行
以上是如何使用聯合表和 SSH 隧道執行跨伺服器 MySQL SELECT 查詢?的詳細內容。更多資訊請關注PHP中文網其他相關文章!