暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

# 第 13 章 自定义 MySQL Shell

由迪 2024-04-28
182

目录

MySQL Shell 提供以下自定义选项,供您更改其行为和代码执行环境以满足您的偏好:

13.1 使用启动脚本

当MySQL Shell以JavaScript或Python模式启动时,以及第一次切换到JavaScript或Python模式时,MySQL Shell会搜索要执行的启动脚本。启动脚本是 JavaScript 或 Python 特定脚本,包含 MySQL Shell 首次进入相应语言模式时要执行的指令。启动脚本允许您通过以下任意方式自定义 JavaScript 或 Python 代码执行环境:

  • 添加 Python 或 JavaScript 模块的附加搜索路径。
  • 定义全局函数或变量。
  • 通过 JavaScript 或 Python 执行任何其他可能的初始化。

当您在 JavaScript 或 Python 模式下启动或重新启动 MySQL Shell 时,以及在 MySQL Shell 运行时第一次更改为另一种模式时,会加载相关的启动脚本。此后,MySQL Shell 不会再次搜索启动脚本,因此如果您已经进入相关模式,则需要重新启动 MySQL Shell 才能对启动脚本进行更新。当 MySQL Shell 在 SQL 模式下启动或切换到该模式时,不会加载启动脚本。

启动脚本是可选的,如果您想使用它们进行自定义,您可以创建它们。启动脚本必须命名如下:

  • 对于 JavaScript 模式:mysqlshrc.js
  • 对于Python模式:mysqlshrc.py

您可以将启动脚本放置在下面列出的任何位置。 MySQL Shell 按规定的顺序搜索所有规定的路径,以查找其文件名 mysqlshrc和文件扩展名与正在初始化的脚本模式相匹配的启动脚本(.js默认情况下,如果 MySQL Shell 在未指定语言模式的情况下启动)。请注意,MySQL Shell 按照找到的顺序执行为脚本模式找到的所有适当的启动脚本。如果在两个不同的启动脚本中定义了某些内容,则稍后执行的脚本优先。

  1. 在平台的标准全局配置路径中。
    • 在 Windows 上: %PROGRAMDATA%\MySQL\mysqlsh\mysqlshrc.[js|py]
    • 在 Unix 上: /etc/mysql/mysqlsh/mysqlshrc.[js|py]
  2. 位于share/mysqlshMySQL Shell 主文件夹的子目录中,可以由环境变量 定义MYSQLSH_HOME,也可以由 MySQL Shell 标识。如果MYSQLSH_HOME 未定义,MySQL Shell 会将其自己的主文件夹标识为包含 mysqlsh 二进制文件的指定文件夹的父文件夹(bin 如果存在这样的文件夹)。 (因此,对于许多标准安装,没有必要定义 MYSQLSH_HOME。)
    • 在 Windows 上: %MYSQLSH_HOME%\share\mysqlsh\mysqlshrc.[js|py]
    • 在 Unix 上: $MYSQLSH_HOME/share/mysqlsh/mysqlshrc.[js|py]
  3. 在包含 mysqlsh 二进制文件的文件夹中,但前提是选项 2 中描述的 MySQL Shell 主文件夹既未在预期标准位置中由 MySQL Shell 指定也未识别。
    • 在 Windows 上:<mysqlsh binary path>\mysqlshrc.[js|py]
    • 在 Unix 上:<mysqlsh binary path>/mysqlshrc.[js|py]
  4. 在 MySQL Shell 用户配置路径中,由环境变量 定义 MYSQLSH_USER_CONFIG_HOME
    • 在 Windows 上: %MYSQLSH_USER_CONFIG_HOME%\mysqlshrc.[js|py]
    • 在 Unix 上: $MYSQLSH_USER_CONFIG_HOME/mysqlshrc.[js|py]
  5. 在平台的标准用户配置路径中,但前提是未指定选项 4 中描述的 MySQL Shell 用户配置路径。
    • 在 Windows 上: %APPDATA%\MySQL\mysqlsh\mysqlshrc.[js|py]
    • 在 Unix 上: $HOME/.mysqlsh/mysqlshrc.[js|py]
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论