MySQL 8.4 版本資訊
如果您要在同一伺服器上建立多個 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 |