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
會導致隱含的 commit。請參閱第 15.3.3 節,「導致隱含 Commit 的陳述式」。
CREATE SERVER
不會寫入二進位日誌,無論使用何種記錄格式。