MySQL Shell 9.0  /  ...  /  在啟動 MySQL Shell 後建立 Session 全域物件

4.2.2 在啟動 MySQL Shell 後建立 Session 全域物件

如果您在沒有連線到 MySQL Server 實例的情況下啟動 MySQL Shell,您可以使用 MySQL Shell 的 \connect 命令或 shell.connect() 方法來啟動連線並建立 session 全域物件。或者,shell.getSession() 方法會傳回 session 全域物件。

MySQL Shell 的 \connect 命令會與類似 URI 的連線字串一起使用,如上所述和 使用類似 URI 的字串或鍵值組連線到伺服器 中所述。您可以在類似 URI 的連線字串開頭包含 scheme 元素,以選擇要建立的工作階段物件類型,例如

mysql-js> \connect mysqlx://user@localhost:33060

或者,您可以省略 scheme 元素,並使用命令的 --mysqlx (--mx) 選項來使用 X Protocol 建立 Session 物件,或使用 --mysql (--mc) 來使用傳統 MySQL 協定建立 ClassicSession 物件。例如

mysql-js> \connect --mysqlx user@localhost:33060

shell.connect() 方法可以在 MySQL Shell 中作為 \connect 命令的替代方法,來建立 session 全域物件。此連線方法可以使用類似 URI 的連線字串,其中選取的協定會指定為 scheme 元素。例如

mysql-js> shell.connect('mysqlx://user@localhost:33060')

使用 shell.connect() 方法,您也可以使用鍵值組指定連線參數,這些鍵值組以 JavaScript 中的 JSON 物件或 Python 中的字典形式提供。選取的協定 (mysqlxmysql) 會指定為 scheme 鍵的值。例如

mysql-js> shell.connect( {scheme:'mysqlx', user:'user', host:'localhost', port:33060} )

如需以這些方式連線到 MySQL Server 實例的指示和範例,請參閱使用類似 URI 的字串或鍵值組連線到伺服器

您可以省略連線協定,讓 MySQL Shell 根據您的其他連線參數自動偵測,例如指定協定的預設連接埠。若要驗證用於連線的協定,請使用 MySQL Shell 的 \status 命令或 shell.status() 方法。

如果您在使用 \connect 命令或 shell.connect() 方法建立新連線時,session 全域物件已存在 (在啟動期間或之後建立),則 MySQL Shell 會關閉 session 全域物件所表示的現有連線。即使您將 shell.connect() 方法建立的新工作階段物件指派給不同的變數,也是如此。session 全域物件的值 (由 session 變數參考) 仍會使用新的連線詳細資料更新。如果您想要有多個可用的並行連線,請使用第 4.2.3 節,「在 JavaScript 和 Python 模式中編寫工作階段腳本」中描述的替代函數來建立這些連線。