您可以配置 MySQL Shell 以匹配您的偏好,例如启动某种编程语言或提供特定格式的输出。可以仅为当前会话设置配置选项,或者可以通过对 MySQL Shell 配置文件的持久更改来永久设置选项。提供了所有选项的在线帮助。您可以使用 MySQL Shell
\option
命令配置选项,该命令在所有 MySQL Shell 模式下都可用,用于查询和更改配置选项。或者,在 JavaScript 和 Python 模式下,使用
shell.options
对象。
可以使用
\option
命令或
shell.options
脚本界面设置以下配置选项:
选项名称 | 默认值 | 类型 | 影响 |
---|---|---|---|
autocomplete.nameCache |
真的 | 布尔值 | 为自动完成启用数据库名称缓存。 |
batchContinueOnError |
错误的 | 布尔值(只读) | 在 SQL 批处理模式下,如果发现错误,则强制继续处理。 |
connectTimeout |
10 | 大于 0 的浮点数 | 任何不使用 AdminAPI 的会话连接超时之前等待的时间(以秒为单位)。 |
credentialStore.excludeFilters |
空的 | 大批 | 禁用自动密码存储的 URL 数组,支持 glob 字符* 和
? . |
credentialStore.helper |
取决于平台 | 细绳 | 用于获取或存储密码的凭证助手的名称。支持特殊值default 以使用平台的默认助手。特殊值
disabled 禁用凭据存储。 |
credentialStore.savePasswords |
迅速的 | 细绳 | 控制自动密码存储,支持的值:
always ,prompt 或
never 。 |
dba.connectTimeout |
5个 | 大于 0 的浮点数 | 使用 AdminAPI 的任何会话连接超时之前等待的时间(以秒为单位)。 |
dba.gtidWaitTimeout |
60 | 大于 0 的整数 | 在 AdminAPI 操作需要时等待应用 GTID 事务的时间(以秒为单位)(请参阅 第 7.9 节,“修改或解散 InnoDB 集群”)。 |
dba.logSql (在 MySQL Shell 8.0.30 中已弃用。请
logSql 改用。) |
0 | 0 到 2 之间的整数 | 记录由 AdminAPI 操作执行的 SQL 语句(请参阅 第 12 章,MySQL Shell 日志记录和调试)。 |
dba.restartWaitTimeout |
60 | 大于 0 的整数 | 在恢复操作期间等待应用事务的时间(以秒为单位)。当加入的实例必须恢复大量数据时,用于配置更长的超时时间。请参阅 第 7.4.6 节,“将 MySQL 克隆与 InnoDB Cluster 一起使用”)。 |
defaultCompress |
错误的 | 布尔值 | 请求压缩每个全局会话中客户端和服务器之间发送的信息。仅影响经典 MySQL 协议连接(请参阅 第 4.3.6 节,“使用压缩连接”)。 |
defaultMode |
没有任何 | 字符串(sql、js 或 py) | 启动 MySQL Shell 时使用的模式(SQL、JavaScript 或 Python)。 |
devapi.dbObjectHandles |
真的 | 布尔值 | 为 X DevAPI
db 对象启用表和集合名称句柄。 |
fenceAllTraffic() |
没有任何 | 细绳 | 从所有流量中隔离集群(请参阅 InnoDB ClusterSet 中的隔离集群)。 |
fenceWrites() |
没有任何 | 细绳 | 停止向 ClusterSet 的主集群写入流量。副本集群不接受写入,因此此操作对它们没有影响(请参阅 InnoDB ClusterSet 中的 Fencing Clusters)。 |
unfenceWrites() |
没有任何 | 细绳 | 恢复写入流量。此操作可以在先前使用该
cluster.fenceWrites 操作隔离写入流量的集群上运行(请参阅
InnoDB ClusterSet 中的隔离集群)。 |
history.autoSave |
错误的 | 布尔值 | 退出应用程序时保存 (true) 或清除 (false) MySQL Shell 代码历史记录中的条目(请参阅 第 5.5 节,“代码历史记录”)。 |
history.maxSize |
1000 | 整数 | 要存储在 MySQL Shell 代码历史记录中的最大条目数。 |
history.sql.ignorePattern |
*已识别*:*密码* | 细绳 | 与这些模式匹配的字符串不会添加到 MySQL Shell 代码历史记录中。 |
history.sql.syslog |
错误的 | 布尔值 | 将交互式 SQL 语句发送到操作系统的系统日志记录工具(请参阅 第 12.3 节,“用户 SQL 语句的系统日志记录”)。 |
interactive |
真的 | 布尔值(只读) | 启用交互模式。 |
logLevel |
需要一个值 | 整数范围从 1 到 8 或 none、internal、error、warning、info、debug、debug2、debug3 中的任何一个 | 为应用程序日志设置日志记录级别(请参阅 第 12 章,MySQL Shell 日志记录和调试)。 |
logSql |
错误 | 字符串(关闭、错误、打开、未过滤) | 记录由 MySQL Shell 操作执行的 SQL 语句(请参阅 第 12.4 节,“MySQL Shell SQL 日志记录”)。该日志选项不记录从 SQL 模式交互执行的用户 SQL 语句,仅记录 MySQL Shell 操作执行的 SQL 语句。 |
logSql.ignorePattern |
SELECT*:SHOW*:*IDENTIFIED*:*PASSWORD* |
细绳 | 指定以冒号分隔的 glob 模式列表以过滤掉记录的 SQL 语句logSql (请参阅
第 12.4 节,“MySQL Shell SQL 日志记录”)。 |
mysqlPluginDir |
没有任何 | 细绳 | 设置 MySQL 服务器插件目录的持久路径。当使用服务器附带的客户端插件进行身份验证时,指定该路径。 |
pager |
没有任何 | 细绳 | 使用指定的外部分页器工具显示文本和结果。可以添加该工具的命令行参数(请参阅 第 4.6 节“使用寻呼机”)。 |
|
错误的 | 布尔值 | stdin 从而不是终端读取密码。 |
resultFormat |
桌子 | 字符串(表格、选项卡式、垂直、json | json/pretty、ndjson | json/raw、json/array) | 打印结果集的默认输出格式(请参阅 第 5.7 节,“输出格式”)。 |
sandboxDir |
取决于平台 | 细绳 | 沙箱目录。在 Windows 上,默认值为
C:\Users\MyUser\MySQL\mysql-sandboxes ,在 Unix 系统上,默认值为
$HOME/mysql-sandboxes . |
showColumnTypeInfo |
错误的 | 布尔值 | 在 SQL 模式下,显示结果集的列元数据。 |
showWarnings |
真的 | 布尔值 | 在 SQL 模式下,如果有 SQL 警告,则自动显示。 |
ssh.bufferSize |
10240 | 大于 0 的整数 | 通过 SSH 隧道传输数据的缓冲区大小(以字节为单位)(请参阅 第 4.3.5 节,“使用 SSH 隧道”)。 |
ssh.configFile |
空的 | 细绳 | 将标准 SSH 配置文件替换~/.ssh/config 为 SSH 隧道默认设置的自定义 SSH 配置文件的路径(请参阅
第 4.3.5 节,“使用 SSH 隧道”)。 |
useWizards |
真的 | 布尔值 | 启用向导模式。 |
verbose |
1个 | 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
使用有关值最后如何更改的信息扩充列表,可能的值是:Command line
Compiled default
Configuration file
Environment variable
User defined
\option
- 打印选项的当前值。option_name
\option [--persist]
- 设置选项的值,如果option_name
value
orname=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.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 会报错退出。