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


MySQL 9.0 參考手冊  /  ...  /  使用 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 包裝函式
遠端使用者 user_name USER 使用者名稱
遠端密碼 password PASSWORD 密碼
遠端主機 host_name HOST 主機
遠端連接埠 port_num PORT 連接埠
遠端資料庫 db_name DATABASE 資料庫