MySQL Shell 9.0  /  ...  /  在啟動 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 並建立與本機 MySQL 伺服器執行個體的 X Protocol 連線,該執行個體監聽連接埠 33060

$> 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,並建立與本機 MySQL 伺服器執行個體的傳統 MySQL 通訊協定連線,該執行個體監聽連接埠 3306

$> 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 會先嘗試使用傳統 MySQL 通訊協定進行連線,如果失敗,則會嘗試使用 X Protocol 進行連線。