如果您在未連線至 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 中的字典形式提供。選取的協定 (mysqlx
或 mysql
) 指定為 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 模式編寫工作階段腳本」中所述的替代函式建立這些連線。