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