MySQL Shell 8.4  /  ...  /  在啟動 MySQL Shell 時建立 Session 全域物件

4.2.1 在啟動 MySQL Shell 時建立 Session 全域物件

當您從命令列啟動 MySQL Shell 時,您可以為每個值指定個別的命令選項,例如使用者名稱、主機和連接埠,來指定連線參數。如需以這種方式啟動 MySQL Shell 並連線至 MySQL 伺服器執行個體的指示和範例,請參閱第 4.3.1 節「使用個別參數連線」。當您使用此連線方法時,您可以新增其中一個選項來選擇要在啟動時建立的工作階段物件類型,使其成為 session 全域物件

  • --mysqlx ( --mx ) 建立一個 Session 物件,該物件使用 X Protocol 連線至 MySQL 伺服器執行個體。

  • --mysql ( --mc ) 建立一個 ClassicSession 物件,該物件使用傳統 MySQL 通訊協定連線至 MySQL 伺服器執行個體。

例如,此命令會啟動 MySQL Shell,並建立與在連接埠 33060 上接聽的本機 MySQL 伺服器執行個體的 X Protocol 連線

$> mysqlsh --mysqlx -u user -h localhost -P 33060

如果您在 SQL 模式下啟動 MySQL Shell,--sqlx--sqlc 選項包括工作階段物件類型的選擇,因此您可以改為指定其中一個,使 MySQL Shell 使用 X Protocol 或傳統 MySQL 通訊協定進行連線。如需所有 mysqlsh 命令列選項的參考,請參閱第 A.1 節「mysqlsh — MySQL Shell」

除了使用個別選項指定連線參數外,您還可以使用類似 URI 的連線字串來指定。當您從命令列啟動 MySQL Shell 時,可以傳入此字串,無論是否使用可選的 --uri 命令選項。當您使用此連線方法時,您可以在類似 URI 的連線字串開頭包含 scheme 元素,以選擇要建立的工作階段物件類型。mysqlx 使用 X Protocol 建立 Session 物件,或 mysql 使用傳統 MySQL 通訊協定建立 ClassicSession 物件。例如,以下任一命令使用類似 URI 的連線字串來啟動 MySQL Shell,並建立與在連接埠 3306 上接聽的本機 MySQL 伺服器執行個體的傳統 MySQL 通訊協定連線

$> mysqlsh --uri mysql://user@localhost:3306
$> mysqlsh mysql://user@localhost:3306

您也可以將連線通訊協定指定為選項,而不是作為類似 URI 的連線字串的一部分,例如

$> mysqlsh --mysql --uri user@localhost:3306

如需以這種方式連線至 MySQL 伺服器執行個體的指示和範例,請參閱使用類似 URI 的字串或鍵值組連線至伺服器

您可以省略連線通訊協定,讓 MySQL Shell 根據您的其他連線參數自動偵測它。例如,如果您指定連接埠 33060,且沒有選項說明連線通訊協定,MySQL Shell 會嘗試使用 X Protocol 建立連線。如果您的連線參數沒有指出通訊協定,MySQL Shell 會先嘗試使用 X Protocol 建立連線,如果失敗,則會嘗試使用傳統 MySQL 通訊協定建立連線。