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

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

如果您在未連線至 MySQL 伺服器執行個體的情況下啟動 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 伺服器執行個體的指示和範例,請參閱使用類似 URI 的字串或索引鍵值對連線至伺服器

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

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