Spec-Zone.ru › MySQL Shell 9.2

14.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, до истечения времени ожидания.
dba.connectTimeout 5 float больше 0 Время в секундах ожидания подключения любой сессии, использующей AdminAPI, до истечения времени ожидания.
credentialStore.excludeFilters пустой массив Массив URL-адресов, для которых отключено автоматическое хранение паролей, поддерживаются символы подстановок * и ?.
credentialStore.helper Зависит от платформы строка Имя помощника по хранению данных для получения или сохранения паролей. Поддерживается специальное значение default для использования системного помощника. Специальное значение >disabled< отключает хранилище данных.
credentialStore.savePasswords prompt строка Управление автоматическим хранением паролей, поддерживаемые значения: always, prompt или never.

dba.connectivityChecks

true

boolean

Определяет, выполняются ли проверки подключения для cluster.addInstance(), clusterSet.createReplicaCluster() и replicaSet.addInstance() с использованием определённой конфигурации SSL.

Если произойдёт ошибка SSL, команда останавливается, и возвращается ошибка.

dba.gtidWaitTimeout 60 целое число больше 0 Время в секундах ожидания применения транзакций GTID, когда это требуется операциями AdminAPI. См. Раздел 8.9, “Изменение или растворение кластера InnoDB”.
dba.logSql 0 целое число от 0 до 2 (Устарело в MySQL Shell 8.0.30. Используйте logSql вместо этого.) Ведение журнала SQL-выражений, выполняемых операциями AdminAPI (см. Главу 13, Ведение журнала и отладка MySQL Shell).
dba.restartWaitTimeout 60 целое число больше 0 Время в секундах ожидания применения транзакций во время операции восстановления. Используется для настройки более длительного таймаута, когда присоединяемый экземпляр должен восстановить большое количество данных. См. Раздел 8.4.6, “Использование MySQL Clone с InnoDB Cluster”).
dba.versionCompatibilityChecks true boolean Проверка совместимости версий для асинхронной репликации при управлении ReplicaSet, ClusterSet или Cluster с Read-Replicas.
defaultCompress false boolean Запрос сжатия информации, отправляемой между клиентом и сервером в каждой глобальной сессии. Затрагивает только подключения к классическому протоколу MySQL (см. Раздел 4.3.8, “Использование сжатых подключений”).
defaultMode None строка (sql, js или py) Режим, используемый при запуске MySQL Shell (SQL, JavaScript или Python).
devapi.dbObjectHandles true boolean Включить обработку имён таблиц и коллекций для объекта X DevAPI db.
history.autoSave true 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-выражения в систему журналирования операционной системы (см. Раздел 13.3, “Журналирование системы для SQL-выражений пользователя”).
logFile Путь к файлу журнала MySQL Shell. строка Отображает путь к файлу журнала MySQL Shell. (Только чтение) Это значение можно изменить только из командной строки, используя опцию --log-file=path/to/logfile.log. См. Приложение А, Справочник по командам MySQL Shell.
logLevel info целое число от 1 до 8 или любое из none, internal, error, warning, info, debug, debug2, debug3, соответственно Установить уровень ведения журнала для журнала приложения (см. Главу 13, Ведение журнала и отладка MySQL Shell).
logSql error строка (off, error, on, all) Ведение журнала SQL-выражений, выполняемых операциями MySQL Shell (см. Раздел 13.4, “Журналирование SQL в MySQL Shell”). Эта опция ведения журнала не записывает SQL-выражения пользователя, выполняемые интерактивно из режима SQL, только SQL-выражения, выполняемые операциями MySQL Shell. Ведёт журнал всех SQL-выражений, кроме тех, которые определены в опциях logSql.ignorePatternUnsafe и logSql.ignorePattern.
  • off: SQL-выражения не ведётся журнал.

  • error: в журнал записываются только SQL-выражения с сообщениями об ошибках при возникновении ошибки.

  • on: ведётся журнал всех SQL-выражений, кроме тех, которые определены в опциях logSql.ignorePatternUnsafe и logSql.ignorePattern.

  • all: ведётся журнал всех SQL-выражений, кроме тех, которые определены в logSql.ignorePatternUnsafe.

logSql.ignorePattern *SELECT*:*SHOW* строка Укажите список шаблонов glob, разделённых двоеточием, для фильтрации SQL-выражений, исключаемых из журнала SQL-выражений, записываемых logSql (см. Раздел 13.4, “Журналирование SQL в MySQL Shell”).
logSql.ignorePatternUnsafe *IDENTIFIED*:*PASSWORD* строка Укажите список шаблонов выражений, разделённых двоеточием, для фильтрации SQL-выражений, исключаемых из журнала, записываемого logSql (см. Раздел 13.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, “Использование отображения”).
passwordsFromStdin 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.7, “Использование SSH-туннеля”).
ssh.configFile пустая строка строка Путь к настраиваемому файлу конфигурации SSH, который заменяет стандартный файл конфигурации SSH ~/.ssh/config в качестве значения по умолчанию для SSH-туннелирования (см. Раздел 4.3.7, “Использование SSH-туннеля”).
useWizards true boolean Включить режим мастера.
verbose 0 целое число от 0 до 4 Включить подробный вывод в консоль и установить уровень детализации (см. Главу 13, Ведение журнала и отладка MySQL Shell).
Примечание

Значения строк регистрозависимые.

Параметры, указанные как “ТОЛЬКО ЧТЕНИЕ”, нельзя изменить.

Параметр outputFormat теперь устарел. Используйте resultFormat вместо него.

Использование команды \option

Команда MySQL Shell \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 or name=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.
https://docs.oracle.com/cd/E17952_01/mysql-shell-9.2-en/mysql-shell-configuring-options.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API