您可以設定 MySQL Shell 來符合您的偏好,例如以特定程式語言啟動,或以特定格式提供輸出。設定選項可以僅針對目前的工作階段設定,也可以透過將變更持續保存至 MySQL Shell 設定檔來永久設定選項。提供所有選項的線上說明。您可以使用 MySQL Shell \option
指令來設定選項,此指令在所有 MySQL Shell 模式中都可用於查詢和變更設定選項。或者,在 JavaScript 和 Python 模式中,使用 shell.options
物件。
以下設定選項可以使用 \option
指令或 shell.options
指令碼介面來設定
選項名稱 | 預設值 | 類型 | 效果 |
---|---|---|---|
autocomplete.nameCache |
true | 布林值 | 啟用資料庫名稱快取以進行自動完成。 |
batchContinueOnError |
false | 布林值 (唯讀) | 在 SQL 批次模式中,如果發現錯誤,強制繼續處理。透過在命令列上加入 --force 設定為 true 。請參閱附錄 A,MySQL Shell 命令參考。 |
connectTimeout |
10 | 大於 0 的浮點數 | 在任何未使用 AdminAPI 的工作階段連線逾時之前等待的時間 (以秒為單位)。 |
credentialStore.excludeFilters |
空 | 陣列 | 停用自動密碼儲存的 URL 陣列,支援 glob 字元 * 和 ? 。 |
credentialStore.helper |
取決於平台 | 字串 | 用於擷取或儲存密碼的憑證輔助程式名稱。支援使用特殊值 default 來使用平台的預設輔助程式。特殊值 >disabled< 會停用憑證儲存。 |
credentialStore.savePasswords |
提示 | 字串 | 控制自動密碼儲存,支援的值:always 、prompt 或 never 。 |
dba.connectTimeout |
5 | 大於 0 的浮點數 | 在任何使用 AdminAPI 的工作階段連線逾時之前等待的時間 (以秒為單位)。 |
|
true |
布林值 |
使用定義的 SSL 設定,定義是否為 如果發生 SSL 錯誤,則指令會停止並傳回錯誤。 |
dba.gtidWaitTimeout |
60 | 大於 0 的整數 | 在 AdminAPI 作業需要時,等待套用 GTID 交易的時間 (以秒為單位) (請參閱第 7.9 節,「修改或解散 InnoDB Cluster」)。 |
logFile |
MySQL Shell 日誌檔案的路徑。 | 字串 | 顯示 MySQL Shell 日誌檔案的路徑。(唯讀) 這個值只能從命令列使用 --log-file=path/to/logfile.log 選項來變更。請參閱附錄 A,MySQL Shell 命令參考。 |
dba.logSql |
0 | 介於 0 到 2 的整數 | (在 MySQL Shell 8.0.30 中已淘汰。請改用 logSql 。) 記錄由 AdminAPI 作業執行的 SQL 陳述式 (請參閱第 12 章,MySQL Shell 日誌記錄與除錯)。 |
dba.restartWaitTimeout |
60 | 大於 0 的整數 | 在復原作業期間等待套用交易的時間 (以秒為單位)。當加入的執行個體必須復原大量資料時,請使用此選項來設定較長的逾時。請參閱第 7.4.6 節,「將 MySQL Clone 與 InnoDB Cluster 搭配使用」)。 |
defaultCompress |
false | 布林值 | 要求壓縮在每個全域工作階段中於用戶端和伺服器之間傳送的資訊。僅影響傳統 MySQL 通訊協定連線 (請參閱第 4.3.7 節,「使用壓縮連線」)。 |
defaultMode |
無 | 字串 (sql、js 或 py) | 啟動 MySQL Shell 時要使用的模式 (SQL、JavaScript 或 Python)。 |
devapi.dbObjectHandles |
true | 布林值 | 啟用 X DevAPI db 物件的表格和集合名稱控制代碼。 |
history.autoSave |
false | 布林值 | 當您結束應用程式時,儲存 (true) 或清除 (false) MySQL Shell 程式碼歷史記錄中的項目 (請參閱第 5.5 節,「程式碼歷史記錄」)。 |
history.maxSize |
1000 | 整數 | 要儲存在 MySQL Shell 程式碼歷史記錄中的最大項目數。 |
history.sql.ignorePattern |
*SELECT*:SHOW* | 字串 | 符合這些模式的字串不會新增至 MySQL Shell 程式碼歷史記錄。 |
history.sql.syslog |
false | 布林值 | 將互動式 SQL 陳述式傳送至作業系統的系統記錄設備 (請參閱第 12.3 節,「使用者 SQL 陳述式的系統記錄」)。 |
logLevel |
info | 介於 1 到 8 的整數,或任何的 none、internal、error、warning、info、debug、debug2、debug3 | 為應用程式記錄設定記錄層級 (請參閱第 12 章,MySQL Shell 日誌記錄與除錯)。 |
logSql |
錯誤 | 字串 (off、error、on、all) | 記錄由 MySQL Shell 作業執行的 SQL 陳述式 (請參閱第 12.4 節,「MySQL Shell SQL 記錄」)。此記錄選項不會記錄從 SQL 模式以互動方式執行的使用者 SQL 陳述式,僅會記錄由 MySQL Shell 作業執行的 SQL 陳述式。記錄除了 logSql.ignorePatternUnsafe 和 logSql.ignorePattern 選項中定義的項目以外的所有 SQL 陳述式。
|
logSql.ignorePattern |
*SELECT*:*SHOW* |
字串 | 指定以冒號分隔的 glob 模式清單,以篩選出由 logSql 記錄的 SQL 陳述式 (請參閱第 12.4 節,「MySQL Shell SQL 記錄」)。 |
logSql.ignorePatternUnsafe |
*IDENTIFIED*:*PASSWORD* |
字串 | 指定以冒號分隔的陳述式模式清單,以篩選出由 logSql 記錄的 SQL 陳述式 (請參閱第 12.4 節,「MySQL Shell SQL 記錄」)。 |
mysqlPluginDir |
MySQL Shell 的 MySQL 外掛程式目錄。也就是說,Linux 平台上的 MySQL Shell 安裝的 lib/mysql/plugins 目錄,以及 Windows 平台上的 lib\mysql\plugins 目錄。 |
字串 | 設定外掛程式目錄的永久路徑。 |
oci.configFile |
您平台上的預設位置。 | 字串 | 設定 OCI CLI 設定檔的永久路徑。 |
oci.profile |
DEFAULT | 字串 | 指定要在 OCI CLI 設定檔中使用的設定檔。 |
pager |
無 | 字串 | 使用指定的外部分頁工具來顯示文字和結果。可以加入該工具的命令列引數 (請參閱第 4.6 節,「使用分頁器」)。 |
|
false | 布林值 | 從 stdin 而非終端機讀取密碼。 |
resultFormat |
表格 | 字串 (table、tabbed、vertical、json | json/pretty、ndjson | json/raw、json/array) | 列印結果集的預設輸出格式 (請參閱第 5.7 節,「輸出格式」)。 |
sandboxDir |
取決於平台 | 字串 | 沙箱目錄。在 Windows 上,預設值為 C:\Users\MyUser\MySQL\mysql-sandboxes ,而在 Unix 系統上,預設值為 $HOME/mysql-sandboxes 。 |
showColumnTypeInfo |
false | 布林值 | 在 SQL 模式中,顯示結果集的資料行中繼資料。 |
showWarnings |
true | 布林值 | 在 SQL 模式中,如果有的話,自動顯示 SQL 警告。 |
ssh.bufferSize |
10240 | 大於 0 的整數 | 透過 SSH 通道進行資料傳輸的緩衝區大小 (以位元組為單位) (請參閱第 4.3.6 節,「使用 SSH 通道」)。 |
ssh.configFile |
空 | 字串 | 自訂 SSH 設定檔的路徑,該設定檔會取代標準 SSH 設定檔 ~/.ssh/config 作為 SSH 通道的預設值 (請參閱第 4.3.6 節,「使用 SSH 通道」)。 |
useWizards |
true | 布林值 | 啟用精靈模式。 |
verbose |
0 | 介於 0 到 4 的整數 | 啟用詳細輸出到主控台,並設定詳細程度(請參閱第 12 章,MySQL Shell 記錄與除錯)。 |
字串值區分大小寫。
標示為「唯讀」的選項無法修改。
outputFormat
選項目前已棄用。請改用 resultFormat
。
MySQL Shell 的 \option
命令讓您可以在所有模式中查詢和變更組態選項,除了 JavaScript 和 Python 模式之外,也可以在 SQL 模式中進行組態設定。
此命令的使用方式如下
\option -h, --help [
- 列印符合filter
]filter
的選項的說明。-
\option -l, --list [--show-origin]
- 列出所有選項。--show-origin
會使用有關數值上次變更方式的資訊來擴充清單,可能的值為命令列
已編譯的預設值
組態檔
環境變數
使用者定義
\option
- 列印選項的目前值。option_name
\option [--persist]
- 設定選項的值,如果指定了option_name
value
或name=value
--persist
,則將其儲存到組態檔。\option --unset [--persist] <option_name>
- 將選項的值重設為預設值,如果指定了--persist
,則從 MySQL Shell 組態檔中移除該選項。
option_name
和 filter
的值區分大小寫。
如需 option_name
的可能值清單,請參閱有效的組態選項。
shell.options
物件可在 JavaScript 和 Python 模式中用於變更 MySQL Shell 選項值。您可以使用特定方法來設定選項,或使用鍵值對,如下所示
MySQL JS > shell.options['history.autoSave']=1
除了鍵值對介面之外,還可以使用下列方法
shell.options[optionName]
:列出選項的目前值。shell.options.set(
:將此工作階段的optionName
,value
)optionName
設定為value
,變更不會儲存到組態檔。shell.options.setPersist(
:將此工作階段的optionName
,value
)optionName
設定為value
,並將變更儲存到組態檔。在 Python 模式中,方法為shell.options.set_persist
。shell.options.unset(
:將此工作階段的optionName
)optionName
重設為預設值,變更不會儲存到組態檔。shell.options.unsetPersist(
:將此工作階段的optionName
)optionName
重設為預設值,並將變更儲存到組態檔。在 Python 模式中,方法為shell.options.unset_persist
。
選項名稱會被視為字串,因此應該以 '
字元括住。如需 optionName
的可能值清單,請參閱有效的組態選項。
請依照下列方式使用命令來設定 MySQL Shell 選項
MySQL JS > shell.options.set('history.maxSize', 5000)
MySQL JS > shell.options.setPersist('useWizards', 'true')
MySQL JS > shell.options.setPersist('history.autoSave', 1)
請依照下列方式將選項還原為預設值
MySQL JS > shell.options.unset('history.maxSize')
MySQL JS > shell.options.unsetPersist('useWizards')
MySQL Shell 組態檔會儲存選項的值,以確保這些值在工作階段之間持續存在。數值會在啟動時讀取,當您使用持續功能時,設定會儲存到組態檔。
組態檔的位置是使用者組態路徑,檔案名為 options.json
。假設預設使用者組態路徑尚未透過定義環境變數 MYSQLSH_USER_CONFIG_HOME
覆寫,則組態檔的路徑為
在 Windows 上
%APPDATA%\MySQL\mysqlsh
在 Unix 上
~/.mysqlsh
,其中~
代表使用者的主目錄。
組態檔會在您第一次自訂組態選項時建立。此檔案由 MySQL Shell 內部維護,不應手動編輯。如果在啟動時,組態檔中發現無法辨識的選項或具有不正確值的選項,MySQL Shell 會結束並顯示錯誤。