文件首頁
MySQL 8.4 參考手冊
相關文件 下載本手冊
PDF (美式信紙) - 39.9Mb
PDF (A4) - 40.0Mb
Man Pages (TGZ) - 258.5Kb
Man Pages (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 參考手冊  /  ...  /  使用 CREATE SERVER 建立 FEDERATED 表格

18.8.2.2 使用 CREATE SERVER 建立 FEDERATED 表格

如果您要在同一伺服器上建立多個 FEDERATED 表格,或想要簡化建立 FEDERATED 表格的流程,您可以使用 CREATE SERVER 陳述式來定義伺服器連線參數,就像您使用 CONNECTION 字串一樣。

CREATE SERVER 陳述式的格式為

CREATE SERVER
server_name
FOREIGN DATA WRAPPER wrapper_name
OPTIONS (option [, option] ...)

當建立新的 FEDERATED 表格時,連線字串會使用 server_name

例如,若要建立與 CONNECTION 字串相同的伺服器連線

CONNECTION='mysql://fed_user@remote_host:9306/federated/test_table';

您會使用以下陳述式

CREATE SERVER fedlink
FOREIGN DATA WRAPPER mysql
OPTIONS (USER 'fed_user', HOST 'remote_host', PORT 9306, DATABASE 'federated');

若要建立使用此連線的 FEDERATED 表格,您仍然使用 CONNECTION 關鍵字,但指定您在 CREATE SERVER 陳述式中使用的名稱。

CREATE TABLE test_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=utf8mb4
CONNECTION='fedlink/test_table';

在此範例中的連線名稱包含連線名稱(fedlink)和要連結的表格名稱(test_table),兩者之間以斜線分隔。如果您只指定連線名稱而沒有表格名稱,則會改為使用本機表格的表格名稱。

如需 CREATE SERVER 的詳細資訊,請參閱 章節 15.1.18,「CREATE SERVER 陳述式」

CREATE SERVER 陳述式接受與 CONNECTION 字串相同的引數。CREATE SERVER 陳述式會更新 mysql.servers 表格中的列。請參閱下表,了解連線字串中的參數、CREATE SERVER 陳述式中的選項以及 mysql.servers 表格中的欄位之間的對應關係。為了方便參考,CONNECTION 字串的格式如下

scheme://user_name[:password]@host_name[:port_num]/db_name/tbl_name
描述 CONNECTION 字串 CREATE SERVER 選項 mysql.servers 欄位
連線架構 scheme wrapper_name Wrapper
遠端使用者 user_name USER 使用者名稱
遠端密碼 password PASSWORD 密碼
遠端主機 host_name HOST 主機
遠端連接埠 port_num PORT 連接埠
遠端資料庫 db_name DATABASE Db