13.4 Настройка параметров MySQL Shell
Вы можете настроить MySQL Shell в соответствии со своими предпочтениями, например, для запуска определённого языка программирования или для предоставления вывода в определённом формате. Параметры конфигурации могут быть установлены только для текущей сессии, или параметры могут быть установлены постоянно путём сохранения изменений в файле конфигурации MySQL Shell. Доступна онлайн-помощь по всем параметрам. Вы можете настроить параметры, используя команду MySQL Shell \option, которая доступна во всех режимах MySQL Shell для запросов и изменения параметров конфигурации. В JavaScript и Python режимах используйте объект shell.options.
Допустимые параметры конфигурации
Следующие параметры конфигурации можно установить, используя либо команду \option, либо интерфейс сценариев shell.options:
| optionName | Значение по умолчанию | Тип | Эффект |
|---|---|---|---|
autocomplete.nameCache | true | boolean | Включить кэширование имени базы данных для автозаполнения. |
batchContinueOnError | false | boolean (только для чтения) | В режиме пакетной обработки SQL принудительно продолжать обработку, если обнаружена ошибка. Устанавливается в значение true путём добавления --force в командной строке. См. Приложение А, Справочник по командам MySQL Shell. |
connectTimeout | 10 | float больше 0 | Время в секундах ожидания подключения любой сессии, не использующей AdminAPI, прежде чем подключение будет прервано. |
credentialStore.excludeFilters | пусто | массив | Массив URL-адресов, для которых отключено автоматическое хранение паролей, поддерживаются символы подстановки * и ?. |
credentialStore.helper | Зависит от платформы | строка | Имя помощника по учетным данным, используемого для извлечения или хранения паролей. Поддерживается специальное значение default для использования системного помощника по умолчанию. Специальное значение >disabled< отключает хранилище учетных данных. |
credentialStore.savePasswords | prompt | строка | Управляет автоматическим хранением паролей, поддерживаемые значения: always, prompt или never. |
dba.connectTimeout | 5 | float больше 0 | Время в секундах ожидания подключения любой сессии, использующей AdminAPI, прежде чем подключение будет прервано. |
| true | boolean |
Определяет, выполняются ли проверки подключений для При возникновении ошибки SSL команда завершается, и возвращается ошибка. |
dba.gtidWaitTimeout | 60 | целое число больше 0 | Время в секундах ожидания применения транзакций GTID, когда это требуется операциями AdminAPI (см. Раздел 7.9, “Изменение или расформирование кластера InnoDB”). |
logFile | Путь к файлу журнала MySQL Shell. | строка | Отображает путь к файлу журнала MySQL Shell. (Только для чтения) Это значение может быть изменено только из командной строки с помощью опции --log-file=path/to/logfile.log. См. Приложение А, Справочник по командам MySQL Shell. |
dba.logSql | 0 | целое число от 0 до 2 | (Устарело в MySQL Shell 8.0.30. Используйте logSql вместо этого.) Вести логи SQL-заявлений, выполняемых операциями AdminAPI (см. Главу 12, Ведение журналов и отладка MySQL Shell). |
dba.restartWaitTimeout | 60 | целое число больше 0 | Время в секундах ожидания применения транзакций во время операции восстановления. Используйте для настройки более длительного таймаута, когда присоединяющемуся экземпляру необходимо восстановить большое количество данных. См. Раздел 7.4.6, “Использование MySQL Clone с InnoDB Cluster”). |
defaultCompress | false | boolean | Запросить сжатие информации, передаваемой между клиентом и сервером в каждой глобальной сессии. Затрагивает только подключения через классический протокол MySQL (см. Раздел 4.3.7, “Использование сжатых подключений”). |
defaultMode | None | строка (sql, js или py) | Режим, используемый при запуске MySQL Shell (SQL, JavaScript или Python). |
devapi.dbObjectHandles | true | boolean | Включить обработку имен таблиц и коллекций для объекта X DevAPI db. |
history.autoSave | false | boolean | Сохранить (true) или очистить (false) записи в истории кода MySQL Shell при выходе из приложения (см. Раздел 5.5, “История кода”). |
history.maxSize | 1000 | целое число | Максимальное количество записей для хранения в истории кода MySQL Shell. |
history.sql.ignorePattern | *SELECT*:SHOW* | строка | Строки, соответствующие этим шаблонам, не добавляются в историю кода MySQL Shell. |
history.sql.syslog | false | boolean | Отправлять интерактивные SQL-заявления в системную систему логирования операционной системы (см. Раздел 12.3, “Системное ведение журнала для пользовательских SQL-заявлений”). |
logLevel | info | целое число от 1 до 8 или любое из none, internal, error, warning, info, debug, debug2, debug3 соответственно | Установить уровень ведения журнала для приложения (см. Главу 12, Ведение журналов и отладка MySQL Shell). |
logSql | error | строка (off, error, on, all) | Вести журнал SQL-заявлений, выполняемых операциями MySQL Shell (см. Раздел 12.4, “Ведение журнала SQL MySQL Shell”). Эта опция ведения журнала не записывает пользовательские SQL-заявления, выполняемые интерактивно из режима SQL, только SQL-заявления, выполняемые операциями MySQL Shell. Записывает все SQL-заявления, кроме тех, которые определены в опциях logSql.ignorePatternUnsafe и logSql.ignorePattern.
|
logSql.ignorePattern | *SELECT*:*SHOW* | строка | Список шаблонов с разделителем двоеточие для исключения из SQL-заявлений, регистрируемых logSql (см. Раздел 12.4, “Ведение журнала SQL MySQL Shell”). |
logSql.ignorePatternUnsafe | *IDENTIFIED*:*PASSWORD* | строка | Список шаблонов заявлений с разделителем двоеточие для исключения из SQL-заявлений, регистрируемых logSql (см. Раздел 12.4, “Ведение журнала SQL MySQL Shell”). |
mysqlPluginDir | Каталог плагинов MySQL в MySQL Shell. То есть, каталог lib/mysql/plugins вашей установки MySQL Shell на платформах Linux и lib\mysql\plugins на платформах Windows. | строка | Установить постоянный путь к каталогу плагинов. |
oci.configFile | По умолчанию для вашей платформы. | строка | Установить постоянный путь к файлу конфигурации OCI CLI. |
oci.profile | DEFAULT | строка | Укажите профиль для использования в файле конфигурации OCI CLI. |
pager | None | строка | Использовать указанный внешний инструмент просмотра для отображения текста и результатов. Командная строка аргументов для инструмента может быть добавлена (см. Раздел 4.6, “Использование просмотра”). |
| false | boolean | Считывать пароли из stdin вместо терминала. |
resultFormat | table | строка (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 | boolean | В режиме SQL отображать метаданные столбцов для наборов результатов. |
showWarnings | true | boolean | В режиме SQL автоматически отображать SQL-предупреждения, если они есть. |
ssh.bufferSize | 10240 | целое число больше 0 | Размер буфера в байтах для передачи данных через SSH-туннель (см. Раздел 4.3.6, “Использование SSH-туннеля”). |
ssh.configFile | пусто | строка | Путь к пользовательскому файлу конфигурации SSH, который заменяет стандартный файл конфигурации SSH ~/.ssh/config по умолчанию для SSH-туннелирования (см. Раздел 4.3.6, “Использование SSH-туннеля”). |
useWizards | true | boolean | (Только для чтения) Указывает, включены ли по умолчанию интерактивные запросы и мастера. |
verbose | 0 | целое число от 0 до 4 | Включить подробный вывод в консоль и установить уровень детализации (см. Главу 12, Ведение журналов и отладка MySQL Shell). |
Значения строк чувствительны к регистру.
Параметры, указанные как “ТОЛЬКО ЧТЕНИЕ”, изменить нельзя.
Параметр outputFormat теперь устарел. Используйте resultFormat вместо него.
Использование команды \option
Команда MySQL Shell \option позволяет запросить и изменить параметры конфигурации во всех режимах, обеспечивая возможность конфигурирования из SQL-режима, помимо режимов JavaScript и Python.
Команда используется следующим образом:
\option -h, --help [- вывести справку по параметрам, соответствующимfilter]filter.-
\option -l, --list [--show-origin]- вывести список всех параметров.--show-originдополняет список информацией о последнем изменении значения, возможные значения:Command lineCompiled defaultConfiguration fileEnvironment variableUser defined
\option- вывести текущее значение параметра.option_name\option [--persist]- установить значение параметра и, если указанoption_namevalueorname=value--persist, сохранить его в файле конфигурации.\option --unset [--persist] <option_name>- сбросить значение параметра до значения по умолчанию и, если указан--persist, удалить параметр из файла конфигурации MySQL Shell.
Значение option_name и filter чувствительны к регистру.
См. Допустимые параметры конфигурации для списка возможных значений для option_name.
Использование интерфейса конфигурации shell.options
Объект 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 завершится с ошибкой.
© 2025 Oracle
Licensed under the GPLv2 License.