CREATE SERVER server_name
FOREIGN DATA WRAPPER wrapper_name
OPTIONS (option [, option] ...)
option: {
HOST character-literal
| DATABASE character-literal
| USER character-literal
| PASSWORD character-literal
| SOCKET character-literal
| OWNER character-literal
| PORT numeric-literal
}
此陳述式會建立伺服器的定義,以搭配 FEDERATED
儲存引擎使用。CREATE SERVER
陳述式會在 mysql
資料庫中的 servers
資料表中建立一個新資料列。此陳述式需要 SUPER
權限。
應該是對伺服器的唯一參考。伺服器定義在伺服器的範圍內是全域的,無法將伺服器定義限定於特定資料庫。server_name
的最大長度為 64 個字元 (超過 64 個字元的名稱會被無訊息截斷),且不區分大小寫。您可以將名稱指定為帶引號的字串。server_name
是一個識別符號,可以使用單引號引起來。wrapper_name
對於每個
,您必須指定字元常值或數值常值。字元常值為 UTF-8,最多支援 64 個字元,預設為空白 (空) 字串。字串常值會被無訊息截斷為 64 個字元。數值常值必須是介於 0 到 9999 之間的數字,預設值為 0。option
OWNER
選項目前未套用,對所建立的伺服器連線的所有權或操作沒有影響。
CREATE SERVER
陳述式會在 mysql.servers
資料表中建立一個條目,該條目稍後可在建立 FEDERATED
資料表時與 CREATE TABLE
陳述式一起使用。您指定的選項會用來填入 mysql.servers
資料表中的欄位。資料表欄位為 Server_name
、Host
、Db
、Username
、Password
、Port
和 Socket
。
例如
CREATE SERVER s
FOREIGN DATA WRAPPER mysql
OPTIONS (USER 'Remote', HOST '198.51.100.106', DATABASE 'test');
請務必指定建立伺服器連線所需的所有選項。使用者名稱、主機名稱和資料庫名稱為必要項目。也可能需要其他選項,例如密碼。
在建立與 FEDERATED
資料表的連線時,可以使用儲存在資料表中的資料。
CREATE TABLE t (s1 INT) ENGINE=FEDERATED CONNECTION='s';
如需詳細資訊,請參閱 第 18.8 節,〈FEDERATED 儲存引擎〉。
CREATE SERVER
會導致隱含的提交。請參閱 第 15.3.3 節,〈導致隱含提交的陳述式〉。
CREATE SERVER
不會寫入二進位記錄檔,無論使用的是哪種記錄格式。