MySQL Shell предлагает настроить поведение и окружающую среду выполнения кода через скрипты запуска, которые выполняются, когда приложение запускается впервые. Использование таких скриптов позволяет вам:
Добавьте дополнительные пути поиска для модулей Python или JavaScript.
Когда MySQL Shell входит в режим JavaScript или Python, он ищет скрипты запуска, которые будут выполнены. Это скрипты на JavaScript или Python, содержащие инструкции, которые будут выполнены, когда соответствующий режим инициализируется.
Скрипты запуска нужно назвать следующим образом:
Для JavaScript: mysqlshrc.js
mysqlshrc.py
MySQL Shell ищет следующие пути к этим файлам (в порядке выполнения).
В Windows:
%PROGRAMDATA%\MySQL\mysqlsh\mysqlshrc.[js|py]
%MYSQLSH_HOME%\shared\mysqlsh\mysqlshrc.[js|py]
<mysqlsh binary
path>\mysqlshrc.[js|py]
%APPDATA%\MySQL\mysqlsh\mysqlshrc.[js|py]
В Linux и OS X:
/etc/mysql/mysqlsh/mysqlshrc.[js|py]
$MYSQLSH_HOME/shared/mysqlsh/mysqlshrc.[js|py]
<mysqlsh binary path>/mysqlshrc.[js|py]
$HOME/.mysqlsh/mysqlshrc.[js|py]
Списки выше также определяют порядок поиска путей, поэтому если что-то определяется в двух различных скриптах, скрипт, выполненный позже, имеет приоритет.
Переменная окружения MYSQLSH_HOME
,
используемая в опции 2, определяет корневую папку стандартной установки MySQL
Shell. Если MYSQLSH_HOME
не определяется, это
автоматически вычисляется на основе местоположения двоичного модуля
MySQL Shell, поэтому на многих стандартных установках не требуется
определять MYSQLSH_HOME
.
Если MYSQLSH_HOME
не определяется и
двоичный модуль MySQL Shell не находится в стандартном месте, тогда путь,
определенный в опции 3 в вышеупомянутых списках, используется.
Если используется стандартная установка или
MYSQLSH_HOME
указывает на обычную
структуру папок, тогда путь, определенный в опции 3, не используется.
Пользовательский путь конфигурации в опции 4
может быть отвергнут на всех платформах, определив переменную окружения
MYSQLSH_USER_CONFIG_HOME
.
Значение этой переменной заменяет
%AppData%\MySQL\mysqlsh\
в
или ~/.mysqlsh/
в Unix.
Есть два способа добавить дополнительные пути поиска модуля:
Через переменные окружения.
Python использует переменную окружения
PYTHONPATH
, чтобы позволить расширять пути
поиска для модулей. Значение этой переменной это список путей, отделенных:
Символ двоеточия в Linux и OS X.
Чтобы достигнуть этого в JavaScript, MySQL Shell поддерживает
определение дополнительных путей модуля, используя переменную окружения
MYSQLSH_JS_MODULE_PATH
. Значение этой переменной
это список отделенных точкой с запятой путей.
Добавление путей поиска модуля может быть достигнуто для обоих языков через соответствующий скрипт запуска.
Для Python измените файл mysqlshrc.py
и
добавьте необходимые пути к массиву sys.path
.
# Import the sys module import sys # Append the additional module paths sys.path.append('~/custom/python') sys.path.append('~/other/custom/modules')
Для JavaScript та же самая задача решается, добавляя код в файл
mysqlshrc.js
, чтобы добавить
необходимые пути к предопределенному массиву
shell.js_module_paths
.
// Append the additional module paths shell.js.module_paths[shell.js.module_paths.length] = '~/custom/js'; shell.js.module_paths[shell.js.module_paths.length] = '~/other/custom/modules';
Приглашение MySQL Shell может быть настроено, используя быстрые файлы
темы. Для этого установите переменную окружения
MYSQLSH_PROMPT_THEME
к имени файла темы или
скопируйте файл темы в каталог
~/.mysqlsh/prompt.json
в Linux и Mac или в
%AppData%\MySQL\mysqlsh\prompt.json
в Windows.
Пользовательский путь конфигурации может быть отвергнут на всех
платформах, определив переменную окружения
MYSQLSH_USER_CONFIG_HOME
. Ее значение заменяет
%AppData%\MySQL\mysqlsh\
в Windows или
~/.mysqlsh/
в Unix.
Формат файла темы описан в файле
README.prompt
, некоторые типовые быстрые файлы
темы включены в комплект. При запуске, если ошибка найдена в файле темы,
сообщение об ошибке печатается и используется тема по умолчанию.
Некоторые типовые файлы темы требуют специального шрифта (например,
SourceCodePro+Powerline+Awesome+Regular.ttf
).
Если вы устанавливаете переменную окружения
MYSQLSH_PROMPT_THEME
к пустой строке, MySQL
Shell использует минимальное приглашение без цвета.
Цветной дисплей зависит от поддержки, доступной от терминала.
Большинство терминалов поддерживает 256 цветов в Linux и Mac.
В Windows цветная поддержка требует сторонней программы терминала с
поддержкой кодов ANSI/VT100 или Windows 10. По умолчанию MySQL Shell пытается
обнаружить тип терминала и окрашивает соответственно. Если автообнаружение не
работает или если вы хотите изменить цветовой режим из-за требований
доступности или для других целей, можно определить переменную окружения
MYSQLSH_TERM_COLOR_MODE
, чтобы вынудить
MySQL Shell использовать определенный цветовой режим. Возможные значения для
этой переменной окружения: rgb
,
256
, 16
и
nocolor
.
Можно настроить MySQL Shell, чтобы соответствовать предпочтениям,
например, запустить с определенным языком программирования или обеспечить
вывод в конкретном формате. Параметры конфигурации могут быть установлены
только для текущей сессии или опции могут быть постоянно установлены,
сохранив изменения конфигурационного файла MySQL Shell.
Помощь онлайн для всех вариантов обеспечивается. Можно формировать варианты,
используя команду MySQL Shell \option
,
которая доступна во всех режимах MySQL Shell для того, чтобы запросить и
изменить параметры конфигурации. Альтернативно в режимах JavaScript и Python,
используйте объект shell.options
.
Следующие параметры конфигурации могут быть установлены, используя команду
\option
или интерфейс
shell.options
:
optionName | DefaultValue | Тип | Эффект |
---|---|---|---|
autocomplete.nameCache | true | boolean | Позволить кэширование имени базы данных для автозавершения. |
batchContinueOnError | false | boolean (READ ONLY) | В пакетном режиме SQL продолжать обработку, если ошибка найдена. |
dba.gtidWaitTimeout | 60 | integer больше 0 | Перерыв в секундах, чтобы ждать транзакций GTID, которые будут применены, при необходимости операциями AdminAPI (см. Working with InnoDB Cluster). |
defaultCompress | false | boolean | Позволить сжатие для получения информации, посланной между клиентом и сервером на каждой глобальной сессии (только классические связи MySQL Protocol). |
defaultMode | Нет | string (sql, js или py) | Режим, чтобы использовать, когда запускается MySQL Shell (SQL, Javascript или Python). |
devapi.dbObjectHandles | true | boolean | Позволить обработку сборки имен для объекта DevAPI db. |
history.autoSave | false | boolean | Сохранить (true) или стереть (false) записи истории команд MySQL Shell, когда вы выходите из MySQL Shell (см. раздел 4.4). |
history.maxSize | 1000 | integer | Максимальное количество записей, чтобы сохранить в истории MySQL Shell. |
history.sql.ignorePattern | *IDENTIFIED* : *PASSWORD* | string | Последовательности, которые соответствуют этим образцам, не добавляются к истории MySQL Shell. |
interactive | true | boolean (READ ONLY) | Включить интерактивный режим. |
logLevel | 5 | integer от 1 до 8 | Включить журнал приложения и установите уровень протокола (см. раздел 7.1). |
pager | Нет | string | Используйте указанный внешний инструмент пейджера, чтобы показать текст и результаты. Параметры командной строки для инструмента могут быть добавлены (см. раздел 3.5). |
passwordsFromStdin | false | boolean | Читать пароли из stdin вместо терминала.
|
resultFormat | table | string (table, tabbed, vertical, json, json/raw) | Выходной формат по умолчанию для печати наборов результатов (см. раздел 4.6). |
sandboxDir | Зависит от платформы. | string | Каталог песочницы. В Windows по умолчанию
C:\Users\MyUser\MySQL\mysql-sandboxes ,
в Unix $HOME/mysql-sandboxes . |
showColumnTypeInfo | false | boolean | В режиме SQL показать метаданные столбцов для наборов результатов. |
showWarnings | true | boolean | В режиме SQL автоматически показать предупреждения SQL, если таковые имеются. |
useWizards | true | boolean | Включить режим мастера. |
Строковые последовательности чувствительны к регистру.
Опция outputFormat
устарела.
Используйте вместо нее resultFormat
.
\option
Команда \option
позволяет вам запросить и
изменить параметры конфигурации во всех режимах, позволяя конфигурацию
из SQL в дополнение к JavaScript и Python.
Команда используется следующим образом:
\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
или
name=value
установите
значение и если указана --persist
,
сохраните в файле настроек.\option --unset [--persist] <option_name>
перезагрузите значение опции в значение по умолчанию и если указана
опция --persist
, удалите опцию из
конфигурационного файла MySQL Shell.Значения option_name
и
filter
чувствительны к регистру.
shell.options
Объект 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
.
~/.mysqlsh
, где
~
представляет корневой каталог пользователя.
Конфигурационный файл создается в первый раз, когда вы настраиваете параметр конфигурации. Этот файл внутренне сохраняется MySQL Shell и не должен быть отредактирован вручную. Если найдена неизвестная опция или неправильное значение опции в конфигурационном файле при запуске, MySQL Shell выходит с ошибкой.