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. |
| true | boolean |
Определяет, выполняются ли проверки подключения для Если произойдёт ошибка 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.
|
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, “Использование отображения”). |
| 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 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.