MySQL Shell 的提示符可以使用提示符主题文件进行定制。要自定义提示主题文件,请将 MYSQLSH_PROMPT_THEME环境变量设置为提示主题文件名,或者将提示主题文件复制到 ~/.mysqlsh/Linux 和 macOS 上的目录或%AppData%\Roaming\MySQL\mysqlsh\ Windows 上的目录。该文件必须命名为 prompt.json,并且必须重新启动 MySQL Shell 才能使更改生效。
图13.1 mysql shell提示符

提示符可以由六个部分组成:
- Status:是否是生产系统以及是否已丢失连接。
- MySQL:提醒您正在使用 MySQL 数据库。
- 连接:您连接到哪个主机,以及在哪个端口上使用 SSL。
- 架构:当前默认架构。
- 模式:您正在使用的模式:
JS= JavaScript、PY= Python 和SQL= SQL。 - 结束:提示符以 结束
>。
通过定义环境变量,可以在所有平台上覆盖mysqlsh 目录所在目录的 用户配置路径。该变量的值 在 Microsoft Windows 或Unix 上替换。 prompt.json``MYSQLSH_USER_CONFIG_HOME``%AppData%\Roaming\MySQL\mysqlsh\``~/.mysqlsh/
在 Microsoft Windows 上,在以下目录中找到提示主题文件:%programfiles%\MySQL\MySQL Shell 8.0\share\mysqlsh\prompt\。
在 macOS 上,在以下目录中找到提示主题文件: /usr/local/mysql-shell/share/mysqlsh/prompt.
在 Linux 上,在以下目录中找到提示主题文件: /usr/share/mysqlsh/prompt/。
文件中描述了提示主题文件的格式 README.prompt。还包括一些示例提示主题文件,例如 prompt_256.json:
在示例提示主题中prompt_256.json,有一个带有类 disconnected%host%和 的对象%is_production%。变量在此文件中定义或来自 MySQL Shell 本身,例如%host和%port。在此示例中,主机包含在环境变量中 PRODUCTION_SERVERS。
解释 "variables" : {
"is_production": {
"match" : {
"pattern": "*;%host%;*",
"value": ";%env:PRODUCTION_SERVERS%;"
},
背景和前景色是使用 bg和fg元素定义的。这些元素允许您自定义提示中使用的颜色。通过以下方式之一指定颜色:
- 按名称:使用按名称定义的颜色。
- 按索引:使用 0 到 255(含)之间的值,其中 0 为黑色,63 为浅蓝色,127 为洋红色,193 为黄色,255 为白色。
- 按 RGB:使用格式中的值
#rrggbb。终端必须支持TrueColor.
本示例中使用命名颜色, PRODUCTION如果布尔 is_production元素返回 , 则输出文本TRUE。
解释 "production" : {
"text": " PRODUCTION ",
"bg": "red",
"fg": "white"
}
这些元素以以下格式输出提示:
图13.2 mysql shell提示符

颜色显示取决于终端的可用支持。大多数终端在 Linux 和 Mac 中支持 256 色。在 Windows 中,颜色支持需要支持 ANSI/VT100 转义的第 3 方终端程序或 Windows 10。默认情况下,MySQL Shell 会尝试检测终端类型并适当处理颜色。如果自动检测不适用于您的终端类型,或者由于可访问性要求或其他目的而想要修改颜色模式,您可以定义环境变量 MYSQLSH_TERM_COLOR_MODE以强制 MySQL Shell 使用特定的颜色模式。此环境变量的可能值为rgb、 256、16和 nocolor。
启动时,如果在提示主题文件中发现错误,则会打印错误消息并使用默认提示主题。某些示例提示主题文件需要特殊字体(例如 SourceCodePro+Powerline+Awesome+Regular.ttf)。如果将MYSQLSH_PROMPT_THEME环境变量设置为空值,MySQL Shell 将使用无颜色的最小提示。****




