Spec-Zone.ru › MySQL Shell 9.2

A.1 mysqlsh — MySQL Shell

MySQL Shell — это расширенный командный клиент и редактор кода для MySQL. Помимо SQL, MySQL Shell также предоставляет возможности для написания сценариев на JavaScript и Python. Для получения информации об использовании MySQL Shell, см. MySQL Shell 9.2. При подключении MySQL Shell к MySQL Server через X Protocol можно использовать X DevAPI для работы с реляционными и документоориентированными данными, см. . MySQL Shell включает AdminAPI, который позволяет работать с развертываниями InnoDB Cluster, InnoDB ClusterSet и InnoDB ReplicaSet; см. Главу 6, MySQL AdminAPI.

Многие из описанных здесь опций связаны с подключениями между MySQL Shell и экземпляром MySQL Server. Дополнительную информацию см. в Разделе 4.3, “Подключения MySQL Shell”.

mysqlsh поддерживает следующие командные опции.

Таблица A.1 Опции mysqlsh

Таблица A.1 Опции mysqlsh
Имя опции Описание
-- Начало интеграции командной строки API
--auth-method Используемый метод аутентификации
--authentication-oci-client-config-profile Профиль в файле конфигурации OCI
--authentication-openid-connect-client-id-token-file Путь к файлу с токеном авторизации OpenId Connect
--cluster Подключение к кластеру InnoDB
--column-type-info Печать метаданных столбцов в наборах результатов
--compress Сжатие всей информации, передаваемой между клиентом и сервером
--compression-algorithms Разрешенные алгоритмы сжатия для подключений к серверу
--zstd-compression-level Уровень сжатия для подключений к серверу, использующих любой алгоритм сжатия через протокол X или только zstd для классических подключений.
--connect-timeout Таймаут подключения для глобальной сессии
--credential-store-helper Справочный помощник хранилища секретов для паролей
--database Схема для использования (псевдоним для --schema)
--dba Включить протокол X при подключении к серверу MySQL 5.7
--dba-log-sql Регистрировать SQL-запросы, выполняемые операциями AdminAPI
--disable-plugins Отключить загрузку пользовательских плагинов
--execute Выполнить команду и выйти
--file Файл для обработки в пакетном режиме
--force Продолжить в режимах SQL и пакетном, даже если произойдут ошибки
--get-server-public-key Запрос открытого ключа RSA у сервера
--help Отображение справки и выход
--histignore Строки, которые не добавляются в историю
--host Хост, на котором расположен экземпляр сервера MySQL
--interactive Эмулировать интерактивный режим в пакетном режиме
--js, --javascript Запуск в режиме JavaScript
--json Печать вывода в формате JSON
--log-file Расположение файла журнала для этого экземпляра
--log-level Указание уровня ведения журнала
--log-sql Записывать все SQL-запросы, сгенерированные MySQL Shell, в файл журнала MySQL Shell.
--mysql, --mc Создание сессии с использованием классического протокола MySQL
--mysql-plugin-dir Директория, где установлены плагины клиентской стороны
--mysqlx, --mx Создание сессии с использованием протокола X
--name-cache Включить автоматическую загрузку имен таблиц на основе активной схемы по умолчанию
--no-name-cache Отключить автодополнение
--no-password Для этого подключения не предоставлен пароль
--no-wizard, --nw Отключить интерактивные мастера
--oci-config-file Путь к файлу конфигурации OCI для использования
--pager Внешняя утилита просмотра страниц для отображения вывода
--password Пароль для подключения к серверу
--password1 Пароль 1 для многофакторной аутентификации (эквивалентно --password)
--password2 Пароль 2 для многофакторной аутентификации
--password3 Пароль 3 для многофакторной аутентификации
--passwords-from-stdin Чтение пароля из стандартного ввода
--plugin-authentication-kerberos-client-mode Позволяет определить режим клиента Kerberos (SSPI или GSSAPI) при использовании аутентификации Kerberos
--plugin-authentication-webauthn-client-preserve-privacy Включить возможность пользователю выбрать ключ для использования при подтверждении
--port Номер порта TCP/IP для подключения
--py, --python Запуск в режиме Python
--pyc Выполнение Python-команды и выход. Все опции, указанные после этой опции, обрабатываются как аргументы обрабатываемой команды.
--pym Пароль 3 для многофакторной аутентификации
--quiet-start Запуск без вывода вводной информации
--redirect-primary Обеспечить подключение к первичному экземпляру кластера InnoDB
--redirect-secondary Обеспечить подключение к вторичному экземпляру кластера InnoDB
--register-factor Факторы многофакторной аутентификации, для которых необходимо выполнить регистрацию
--replicaset Обеспечивает, что целевой сервер принадлежит набору реплик InnoDB, и заполняет глобальную переменную rs набором реплик InnoDB, к которому принадлежит целевой экземпляр.
--result-format Установка формата вывода для этой сессии
--save-passwords Как пароли хранятся в хранилище секретов
--schema Схема для использования
--server-public-key-path Имя пути к файлу, содержащему открытый ключ RSA
--show-warnings Показывать предупреждения после каждой команды, если они есть (в режиме SQL)
--socket Файл Unix-соккета или именованная труба Windows для использования (только для классического протокола MySQL)
--sql Запуск в режиме SQL, автоматически определяя протокол для подключения
--sqlc Запуск в режиме SQL с подключением по классическому протоколу MySQL
--sqlx Запуск в режиме SQL с подключением по протоколу X
--ssh URI для подключения к SSH-серверу
--ssh-config-file Файл конфигурации для подключения к SSH-серверу
--ssh-identity-file Файл идентификатора для подключения к SSH-серверу
--ssl-ca Файл, содержащий список доверенных центров сертификации SSL
--ssl-capath Директория, содержащая сертификаты доверенных центров сертификации SSL
--ssl-cert Файл, содержащий X.509-сертификат
--ssl-cipher Список разрешенных шифров шифрования для подключений, использующих протоколы TLS до TLSv1.2
--ssl-crl Файл, содержащий списки отзыва сертификатов
--ssl-crlpath Директория, содержащая файлы списков отзыва сертификатов
--ssl-key Файл, содержащий X.509-ключ
--ssl-mode Требуемое состояние безопасности подключения к серверу
--syslog Вести интерактивные SQL-запросы в системную систему логирования
--tabbed Отображать вывод в формате, разделенном табуляцией
--table Отображать вывод в табличном формате
--tls-ciphersuites Использовать шифр TLS v1.3
--tls-version Разрешенный протокол TLS для шифрованных соединений
--uri Информация о сеансе в формате URI
--user Имя пользователя MySQL для подключения к серверу
--verbose Активировать подробный вывод на консоль
--version Отобразить информацию о версии и выйти
--vertical Отобразить все результаты SQL вертикально
--zstd-compression-level Уровень сжатия для соединений с сервером, использующих сжатие zstd

  • --help, -?

    Отобразить сообщение справки и выйти.

  • --

    Помечает конец списка опций mysqlsh и начало команды и её аргументов для интеграции командной строки API MySQL Shell. Вы можете выполнить методы глобальных объектов MySQL Shell из командной строки, используя этот синтаксис:

    mysqlsh [options]  -- object method [arguments]
    

    Дополнительную информацию см. в разделе 5.8 «Интеграция командной строки API».

  • --auth-method=method

    Способ аутентификации для учетной записи. Зависит от плагина аутентификации, используемого для пароля учетной записи. Для подключений MySQL Shell, использующих классический протокол MySQL, укажите имя плагина аутентификации, например, caching_sha2_password. Для подключений MySQL Shell, использующих протокол X, укажите один из следующих вариантов:

    AUTO

    Позволить библиотеке выбрать метод аутентификации.

    FALLBACK

    Позволить библиотеке выбрать метод аутентификации, но не использовать методы аутентификации, несовместимые с MySQL 5.7.

    FROM_CAPABILITIES

    Позволить библиотеке выбрать метод аутентификации, используя возможности, объявленные экземпляром сервера.

    MYSQL41

    Используйте протокол аутентификации с ответом на вызов, поддерживаемый MySQL 4.1 и более поздними версиями, который не отправляет пароль в открытом виде. Этот параметр совместим с учетными записями, использующими плагин аутентификации mysql_native_password.

    PLAIN

    Отправьте открытый пароль для аутентификации. Используйте этот параметр только с зашифрованными подключениями. Этот параметр можно использовать для аутентификации с кэшированными учетными данными для учетной записи, использующей плагин аутентификации caching_sha2_password, при условии наличия SSL-соединения. См. .

    SHA256_MEMORY

    Проверка подлинности с использованием хэшированного пароля, хранящегося в памяти. Этот параметр можно использовать для аутентификации с кэшированными учетными данными для учетной записи, использующей плагин аутентификации caching_sha2_password, при наличии подключения без SSL. См. .

    Для подключений MySQL Shell, использующих классический протокол MySQL, укажите имя плагина аутентификации, используемого учетной записью пользователя, например, caching_sha2_password (по умолчанию для учетных записей пользователей, созданных в MySQL 8.0). MySQL Shell использует библиотеку MySQL для аутентификации на стороне клиента для этих подключений. Для следующих методов аутентификации требуется дополнительная настройка:

    clear_text_password

    Для простой аутентификации LDAP требуется плагин клиента mysql_clear_password. Он встроен в библиотеку MySQL-клиента, но по соображениям безопасности по умолчанию отключен. MySQL Shell включает и использует плагин при указании его с параметром подключения --auth-method=clear_text_password. Этот тип аутентификации подходит только для защищённого соединения, использующего SSL или сокеты, поэтому вы должны настроить защищённое соединение перед его использованием. Обратите внимание, что с опцией ssl-mode=preferred SSL-соединение не гарантируется, поэтому соединение с установленным этим параметром не считается SSL-соединением. Дополнительную информацию см. в разделе 4.3.4 «Использование защищённых подключений».

    authentication_ldap_sasl_client

    Плагин клиента authentication_ldap_sasl_client предназначен для аутентификации LDAP на основе SASL, включая аутентификацию GSSAPI/Kerberos. Он не встроен в библиотеку MySQL-клиента, но поставляется в пакетах MySQL Server. Для загрузки необходимо использовать параметр --mysql-plugin-dir для указания пути к плагину в пакетах MySQL Server.

    authentication_kerberos_client

    Плагин клиента authentication_kerberos_client предназначен для аутентификации Kerberos. Он не встроен в библиотеку MySQL-клиента, но поставляется в пакетах MySQL Server. Для загрузки необходимо использовать параметр --mysql-plugin-dir для указания пути к плагину в пакетах MySQL Server.

    Кэшированные билеты выдачи билетов (TGT) для аутентификации Kerberos поддерживаются с MySQL 8.0.27, когда параметр --auth-method используется для указания плагина authentication_ldap_sasl_client или authentication_kerberos_client, и параметр --mysql-plugin-dir используется для предоставления пути к плагину. Для использования кэшированных TGT не указывайте пользователя и пароль в параметрах подключения. Когда вы указываете один из этих плагинов и не указываете пользователя и пароль, MySQL Shell не предоставляет имя системного пользователя, не запрашивает пароль и не пытается использовать помощник Secret Store для получения или хранения учетных данных.

    Дополнительную информацию см. в разделе 4.3.5 «Использование аутентификации LDAP и Kerberos».

  • --cluster

    Гарантирует, что целевой сервер является частью InnoDB Cluster и, если это так, устанавливает глобальную переменную cluster в объект кластера.

  • --column-type-info

    В SQL-режиме перед печатью возвращаемого набора результатов запроса печатается метаданные для каждого столбца в наборе результатов, такие как тип и сортировка столбца.

    Тип столбца возвращается как тип, используемый MySQL Shell (Type), и тип, используемый исходной базой данных (DBType). Для подключений MySQL Shell, использующих классический протокол MySQL, DBType возвращается протоколом, а для подключений по протоколу X, DBType выводится на основе доступной информации. Длина столбца (Length) возвращается в байтах.

  • --compress[={required|preferred|disabled}], -C [{required|preferred|disabled}]

    Управляет сжатием информации, отправляемой между клиентом и сервером с помощью этого подключения. Он также доступен для подключений с классическим протоколом MySQL и протоколом X, и вы можете необязательно указать required, preferred или disabled. Если указан только --compress, значение по умолчанию равно --compress=required. Информацию об использовании MySQL Shell для управления сжатием во всех выпусках см. в разделе 4.3.8 «Использование сжатых соединений».

  • --compression-algorithms=value

    Формат командной строки --compression-algorithms=value
    Тип Установка
    Значение по умолчанию uncompressed
    Допустимые значения

    zlib

    zstd

    uncompressed

    Разрешенные алгоритмы сжатия для соединений с сервером.

    См. раздел 4.3.8.1 «Управление сжатием для MySQL Shell».

  • --compression-level=level

    Формат командной строки --zstd-compression-level=#
    Тип Целое число

    Уровень сжатия для соединений с сервером, использующих любой алгоритм сжатия через протокол X или только zstd для классических соединений.

    См. раздел 4.3.8.1 «Управление сжатием для MySQL Shell».

  • --zstd-compression-level=level

    Формат командной строки --zstd-compression-level=#
    Тип Целое число

    Уровень сжатия, который необходимо использовать для соединений с сервером, использующих алгоритм сжатия zstd. Допустимые уровни — от 1 до 22, причём большие значения указывают на более высокий уровень сжатия. Уровень сжатия по умолчанию zstd — 3. Настройка уровня сжатия не влияет на соединения, не использующие zstd сжатие.

    См. раздел 4.3.8.1 «Управление сжатием для MySQL Shell».

  • --connect-timeout=ms

    Настраивает, как долго MySQL Shell ожидает (в миллисекундах) установления глобальной сессии, заданной через аргументы командной строки.

  • --credential-store-helper=helper

    Помощник Secret Store, который будет использоваться для хранения и извлечения паролей. См. раздел 4.4 «Подключаемый хранилище паролей».

  • --database=name, -D name

    Схема по умолчанию для использования. Это псевдоним для --schema.

  • --dba=enableXProtocol

    Устарело в MySQL Shell 8.4.0.

    Включить плагин X при подключении к серверу MySQL 5.7, чтобы вы могли использовать подключения по протоколу X для последующих подключений. Требуется подключение с использованием классического протокола MySQL. Неактуально для серверов MySQL 8.0, на которых плагин X включен по умолчанию.

  • --dba-log-sql[=0|1|2]

    Вести журнал SQL-запросов, выполняемых операциями AdminAPI (исключая операции песочницы). По умолчанию эта категория запросов не записывается в журнал приложения MySQL Shell или не выводится на консоль в виде подробной информации, даже если установлены опции --log-level и --verbose. Значение опции — целое число в диапазоне от 0 до 2. 0 — не вести журнал и не отображать эту категорию запросов, что является поведением по умолчанию, если вы не указываете опцию. 1 — вести журнал SQL-запросов, выполняемых операциями AdminAPI, за исключением запросов и (это значение по умолчанию, если вы укажете опцию в командной строке без значения). 2 — вести полный журнал SQL-запросов, выполняемых обычными операциями AdminAPI, включая запросы и . Дополнительная информация приведена в Главе 13, Ведение журнала и отладка MySQL Shell.

  • --disable-plugins

    Отключает пользовательские плагины.

  • --log-sql[=off|error|on|all|unfiltered]

    Вести журнал всех SQL-запросов, выполняемых MySQL Shell, в журнал MySQL Shell, mysqlsh.log

    Доступны следующие опции:

    off

    Журнал SQL-запросов MySQL Shell не ведётся.

    error

    (Значение по умолчанию) ведётся журнал только не выполненных SQL-запросов MySQL Shell.

    on

    Ведётся журнал всех SQL-запросов MySQL Shell, кроме тех, которые соответствуют шаблону игнорирования, определённому в logSql.ignorePattern и logSql.ignorePatternUnsafe. Дополнительная информация приведена в разделе «Фильтрование ведения журнала SQL».

    all

    Ведётся журнал всех SQL-запросов MySQL Shell, кроме тех, которые соответствуют шаблону игнорирования, определённому в logSql.ignorePatternUnsafe. Дополнительная информация приведена в разделе «Фильтрование ведения журнала SQL».

    unfiltered

    Ведётся журнал всех SQL-запросов MySQL Shell, фильтрация не выполняется.

  • --execute=command, -e command

    Выполнить команду с использованием текущего активного языка и выйти. Эта опция несовместима с опцией --file=file_name.

  • --file=file_name, -f file_name

    Указать файл для обработки в пакетном режиме. Любые опции, указанные после этой, используются в качестве аргументов обрабатываемого файла.

  • --force

    Продолжить обработку в режимах SQL и пакетном режиме даже при возникновении ошибок.

  • --histignore=strings

    Указать строки, которые не добавляются в историю MySQL Shell. Строки разделяются двоеточием. Сопоставление нечувствительно к регистру, и можно использовать подстановочные знаки * и ?. По умолчанию игнорируются строки, указанные как “*IDENTIFIED*:*PASSWORD*”. Дополнительная информация приведена в разделе 5.5 «История кода».

  • --host=host_name, -h host_name

    Подключение к серверу MySQL на указанном хосте. В Windows, если вы укажете --host=. или -h . (указав имя хоста как точку), MySQL Shell подключается с использованием стандартной именованной трубы (называемой MySQL) или альтернативной именованной трубы, которую вы указываете с помощью опции --socket.

  • --get-server-public-key

    Аналог в MySQL Shell.

    Если --server-public-key-path=file_name указан и содержит корректный файл с общедоступным ключом, он имеет приоритет перед --get-server-public-key.

    Важно

    Поддерживается только с подключениями по классическому протоколу MySQL.

    См. .

  • --interactive[=full], -i

    Эмуляция интерактивного режима в пакетном режиме.

  • --js, --javascript

    Запуск в режиме JavaScript.

  • --json[={off|pretty|raw}]

    Управляет форматированием JSON для вывода MySQL Shell из этого сеанса. Эта опция предназначена для взаимодействия MySQL Shell с другими программами, например, в рамках тестирования. Для изменения формата вывода результатов запроса на использование формата JSON см. --result-format.

    При отсутствии значения или значении pretty для опции --json вывод генерируется в формате JSON с отступами. При значении raw вывод генерируется в формате простого JSON. В любом из этих случаев опция --result-format и её алиасы, а также значение конфигурационной опции resultFormat MySQL Shell игнорируются. При значении off форматирование JSON не выполняется, и наборы результатов выводятся в обычном формате, указанном опцией --result-format или конфигурационной опцией resultFormat.

  • --log-file=path

    Изменение расположения файла журнала приложения MySQL Shell mysqlsh.log для этого экземпляра MySQL Shell. По умолчанию журнал приложения находится в пути конфигурации пользователя, по умолчанию в %APPDATA%\MySQL\mysqlsh\ в Windows или ~/.mysqlsh/ в Unix. Вы можете переопределить путь конфигурации пользователя для всех экземпляров MySQL Shell, задав переменную среды MYSQLSH_USER_CONFIG_HOME. Опция --log-file применяется к отдельному экземпляру MySQL Shell, что означает, что разные экземпляры могут записывать в разные места.

  • --log-level=N

    Изменение уровня ведения журнала файла журнала приложения MySQL Shell mysqlsh.log или отключение ведения журнала в файл. Опция требует значения, которое может быть целым числом от 1 до 8 или одной из none, internal, error, warning, info, debug, debug2 или debug3. Указание 1 или none отключает ведение журнала в файл журнала приложения. Уровень 5 (info) является значением по умолчанию, если вы не укажете эту опцию. См. Главу 13, Ведение журнала и отладка MySQL Shell.

  • -ma

    Устарело в версии 8.0.13 MySQL Shell. Автоматически пытается использовать протокол X для создания подключения сеанса и переходит к классическому протоколу MySQL, если протокол X недоступен.

  • --mysql, --mc

    Устанавливает глобальный сеанс, созданный при запуске, для использования подключения по классическому протоколу MySQL.

  • --mysql-plugin-dir=path

    Устанавливает временный путь к плагинам проверки подлинности клиентов, перезаписывая значение настройки shell.options.mysqlPluginDir. Плагины клиентов поставляются в пакетах MySQL Server и могут быть расположены относительно каталога базы MySQL (значение системной переменной ). Например:

    • C:\program files\mysql\mysql Server 8.0\lib\plugin для типов хостов Windows

    • /usr/local/mysql/lib/plugin для типов хостов Linux

    Список плагинов проверки подлинности клиентов, поставляемых с сервером, см. .

  • --mysqlx, --mx

    Устанавливает глобальный сеанс, созданный при запуске, для использования подключения по протоколу X.

  • --name-cache

    Включить автоматическую загрузку имён таблиц на основе активной схемы по умолчанию.

  • --no-name-cache, -A

    Отключить загрузку имён таблиц для автодополнения на основе активной схемы по умолчанию и объекта DevAPI db. Используйте \rehash для ручного перезагрузки информации о названиях.

  • --no-password

    При подключении к серверу, если у пользователя есть учётная запись без пароля (что небезопасно и не рекомендуется) или если используется аутентификация по данным сокета peer (для подключений по Unix-сокету), необходимо использовать --no-password, чтобы явно указать, что пароль не предоставляется, и запрос пароля не требуется.

  • --no-wizard, -nw

    Отключает интерактивные мастера, предоставляемые такими операциями, как создание соединений, dba.configureInstance(), Cluster.rebootClusterFromCompleteOutage() и так далее. Используйте этот параметр, если вы хотите создавать сценарии для MySQL Shell и не отображать интерактивные приглашения. Для получения дополнительной информации см. Раздел 5.6, «Выполнение пакетного кода» и Раздел 5.8, «Интеграция командной строки API».

  • --oci-config-file=pathToConfigFile

    Конфигурирует путь к файлу конфигурации OCI для использования с аутентификацией OCI для подключения к системе баз данных HeatWave Service.

    Значение, определенное здесь, переопределяет значение, определенное в параметре oci.configFile.

    Для получения дополнительной информации см. .

  • --authentication-oci-client-config-profile=profileName

    Конфигурирует профиль в файле конфигурации OCI для использования с аутентификацией OCI для подключения к системе баз данных HeatWave Service.

    Значение, определенное здесь, переопределяет значение, определенное в параметре oci.profile.

    Для получения дополнительной информации см. .

  • --authentication-openid-connect-client-id-token-file=filename

    Путь к файлу маркера авторизации OpenId Connect

    См. Раздел 4.3.6, «Использование OpenID Connect».

    Важно

    Аутентификация OpenID Connect поддерживается только в MySQL Enterprise Edition.

  • --pager=name

    Внешний инструмент просмотра, используемый MySQL Shell для отображения текстового вывода для операторов, выполненных в SQL-режиме, и других выбранных команд, таких как справка. Если вы не задаете программу просмотра, используется программа просмотра, указанная в переменной среды PAGER. См. Раздел 4.6, «Использование программы просмотра».

  • --passwords-from-stdin

    Считывает пароль из стандартного ввода, а не из терминала. Этот параметр не влияет на другие параметры пароля, такие как запрос пароля.

  • --password[=password], -ppassword

    Пароль, используемый при подключении к серверу. Максимальная длина пароля, принимаемая для подключения к MySQL Shell, составляет 128 символов.

    • --password=password (-ppassword) со значением предоставляет пароль для использования при подключении. С длинной формой --password= необходимо использовать знак равенства, а не пробел между параметром и его значением. С короткой формой -p не должно быть пробела между параметром и его значением. Если в любом случае используется пробел, значение не интерпретируется как пароль и может интерпретироваться как другой параметр соединения.

      Указание пароля в командной строке следует считать небезопасным. См. . Вы можете использовать файл параметров, чтобы избежать указания пароля в командной строке.

    • --password без значения и без знака равенства или -p без значения запрашивает приглашение для ввода пароля.

    • --password= с пустым значением имеет тот же эффект, что и --no-password, который указывает, что пользователь подключается без пароля. При подключении к серверу, если у пользователя есть учетная запись без пароля, что небезопасно и не рекомендуется, или если используется аутентификация с помощью учетных данных однорангового узла сокета (для соединений с Unix-сокетами), необходимо использовать один из этих способов, чтобы явно указать, что пароль не предоставлен, и запрос пароля не требуется.

  • --password1[=password]

    --password1, --password2 и --password3 — это пароли для использования в учетных записях, требующих многофакторной аутентификации. Вы можете указать до трех паролей. Параметры работают так же, как параметр --password, а --password1 рассматривается как эквивалент этого параметра. Вы можете указать значение пароля после параметра в командной строке (что небезопасно), или, если параметры указаны без значения пароля, MySQL Shell запрашивает у пользователя каждый пароль по очереди. Поддерживается только для классических соединений протокола MySQL, установленных с помощью аргументов командной строки.

  • --password2[=password]

    Пароль для второго метода аутентификации для учетных записей, требующих многофакторной аутентификации. См. описание параметра --password1.

  • --password3[=password]

    Пароль для третьего метода аутентификации для учетных записей, требующих многофакторной аутентификации. См. описание параметра --password1.

  • --plugin-authentication-kerberos-client-mode={SSPI|GSSAPI}

    Формат командной строки --plugin-authentication-kerberos-client-mode
    Тип String
    Значение по умолчанию SSPI
    Допустимые значения

    SSPI

    GSSAPI

    На платформах Microsoft Windows позволяет определить режим клиента Kerberos (SSPI или GSSAPI) при использовании аутентификации Kerberos.

    Если plugin-authentication-kerberos-client-mode не определен, по умолчанию используется SSPI.

    При подключении к серверу MySQL с использованием аутентификации Kerberos режимы аутентификации имеют следующее поведение:

    • GSSAPI:

      • Если пароль не предоставлен, билет аутентификации извлекается из кэша MIT Kerberos. Если действительный билет не найден, соединение завершается неудачей.

      • Если пароль предоставлен, билет аутентификации извлекается с сервера Kerberos и сохраняется в кэше MIT Kerberos.

      • Если имя учетной записи не указано, имя пользователя Windows используется как имя учетной записи MySQL.

    • SSPI:

      • Если пароль не предоставлен, используется билет единого входа Windows.

      • Если пароль предоставлен, билет аутентификации сохраняется во временном хранилище в памяти.

  • --plugin-authentication-webauthn-client-preserve-privacy={OFF|ON}

    Формат командной строки --plugin-authentication-webauthn-client-preserve-privacy
    Тип Boolean
    Значение по умолчанию false

    Определяет, как утверждения отправляются на сервер, если для данного идентификатора RP (уникальное имя, присвоенное серверу доверенной стороны, которым является сервер MySQL) хранится более одного обнаруживаемого учетных данных. Если устройство FIDO2 содержит несколько резидентных ключей для данного идентификатора RP, этот параметр позволяет пользователю выбрать ключ, который будет использоваться для утверждения. Он предоставляет два возможных значения, которые может установить клиент. Значение по умолчанию — false. Если установлено значение false, вызов подписывается всеми доступными учетными данными для данного идентификатора RP, и все подписи отправляются на сервер. Если установлено значение true, пользователю предлагается выбрать учетные данные, которые будут использоваться для подписи.

    Примечание

    Этот параметр не оказывает влияния, если устройство не поддерживает функцию резидентного ключа.

    Для получения дополнительной информации см. .

  • --port=port_num, -P port_num

    Номер порта TCP/IP, используемый для соединения. Значение по умолчанию — порт 33060.

  • --py, --python

    Запуск в режиме Python.

  • --pyc=pythonCommand, -c

    Выполнить команду Python и завершить работу. Любые параметры, указанные после этого, рассматриваются как аргументы обработанной команды.

  • --pym

    Выполнить указанный модуль Python как сценарий в режиме Python MySQL Shell. --pym работает так же, как параметр командной строки Python -m.

  • --quiet-start[=1|2]

    Запуск без вывода вводной информации. MySQL Shell обычно выводит информацию о продукте, информацию о сеансе (например, об основной схеме и идентификаторе подключения), сообщения об ошибках и любые ошибки, возвращённые во время запуска и подключения. Если вы укажете --quiet-start без значения или со значением 1, информация о продукте MySQL Shell не выводится, но информация о сеансе, предупреждения и ошибки выводятся. Со значением 2 выводятся только ошибки.

  • --redirect-primary

    Обеспечивает, что целевой сервер является частью кластера InnoDB или репликат InnoDB, и если он не является первичным, находит первичный сервер и подключается к нему. MySQL Shell завершается с ошибкой, если при использовании этого параметра выполняется любое из следующих условий:

    • Не указан ни один экземпляр

    • В кластере InnoDB групповая репликация не активна

    • Метаданные кластера InnoDB отсутствуют

    • Нет кворума

  • --register-factor=value

    Командная строка --register-factor=value
    Тип Строка

    Фактор или факторы, для которых должна быть выполнена регистрация устройства FIDO/FIDO2 перед использованием аутентификации на основе устройства WebAuthn. Значение этого параметра должно быть единственным значением или двумя значениями, разделёнными запятыми. Каждое значение должно быть 2 или 3, поэтому допустимые значения параметра — '2', '3', '2,3' и '3,2'.

    Например, учётная запись, требующая регистрации третьего фактора аутентификации, вызывает клиент mysql следующим образом:

    mysqlsh --user=user_name --register-factor=3
    

    Учётная запись, требующая регистрации второго и третьего факторов аутентификации, вызывает клиент mysql следующим образом:

    mysqlsh --user=user_name --register-factor=2,3
    

    Если регистрация прошла успешно, устанавливается соединение. Если существует фактор аутентификации с ожидающей регистрацией, при попытке подключения к серверу соединение переводится в режим ожидания регистрации. В этом случае отключитесь и подключитесь снова с правильным значением, чтобы завершить регистрацию.

    Регистрация — двухэтапный процесс, включающий этапы инициирования регистрации и завершения регистрации. На этапе инициирования регистрации выполняется данное утверждение:

    ALTER USER user factor INITIATE REGISTRATION
    

    Запрос возвращает результат, содержащий 32-байтовый вызов, имя пользователя и идентификатор стороны, доверяющей (см. ).

    На этапе завершения регистрации выполняется данное утверждение:

    ALTER USER user factor FINISH REGISTRATION SET CHALLENGE_RESPONSE AS 'auth_string'
    

    Запрос завершает регистрацию и отправляет следующую информацию на сервер в качестве части auth_string: данные аутентификатора, необязательный сертификат аутентификации в формате X.509 и подпись.

    Этапы инициирования и регистрации должны выполняться в рамках одного соединения, так как вызов, полученный клиентом на этапе инициирования, сохраняется в обработчике соединения клиента. Регистрация завершится неудачей, если этап регистрации выполняется другим соединением. Параметр выполняет оба этапа — инициирования, и регистрации, что предотвращает описанный выше сценарий сбоя и исключает необходимость ручного выполнения запросов на инициирование и регистрацию.

    Параметр --register-factor доступен только для клиента mysql. Другие программы-клиенты MySQL не поддерживают его.

    Для получения дополнительной информации см. .

  • --replicaset

    Обеспечивает, что целевой сервер принадлежит репликат InnoDB, и если это так, заполняет переменную rs глобальной переменной с репликатом InnoDB. Затем вы можете управлять репликатом InnoDB с помощью глобальной переменной rs, например, выполнив rs.status().

  • --redirect-secondary

    Обеспечивает, что целевой сервер является частью однопервичного кластера InnoDB или репликата InnoDB, и если он не является вторичным, находит вторичный сервер и подключается к нему. MySQL Shell завершается с ошибкой, если при использовании этого параметра выполняется любое из следующих условий:

    • В кластере InnoDB групповая репликация не активна

    • Метаданные кластера InnoDB отсутствуют

    • Нет кворума

    • Кластер не является однопервичным и работает в режиме многопервичного режима

    • Вторичный сервер недоступен, например, потому что существует только один серверный экземпляр

  • --result-format={table|tabbed|vertical|json|json/pretty|ndjson|json/raw|json/array}

    Установите значение конфигурационного параметра resultFormat MySQL Shell для этого сеанса. Форматы следующие:

    table

    Значение по умолчанию для интерактивного режима, если не установлено другое значение для конфигурационного параметра resultFormat в файле конфигурации, в этом случае применяется это значение по умолчанию. Также можно использовать псевдоним --table.

    tabbed

    Значение по умолчанию для пакетного режима, если не установлено другое значение для конфигурационного параметра resultFormat в файле конфигурации, в этом случае применяется это значение по умолчанию. Также можно использовать псевдоним --tabbed.

    vertical

    Создаёт вывод, эквивалентный завершающему символу \G для запроса SQL. Также можно использовать псевдонимы --vertical или -E.

    json или json/pretty

    Создаёт отформатированный вывод в формате JSON.

    ndjson или json/raw

    Создаёт вывод в формате JSON, разделенный символами новой строки.

    json/array

    Создаёт вывод в формате JSON, заключенный в массив JSON.

    Если используется опция командной строки --json для активации обертывания вывода JSON для сеанса, опция --result-format и её псевдонимы, а также значение конфигурационного параметра resultFormat игнорируются.

END_OF_DOCUMENT_MARKER
  • --sql

    Начать в режиме SQL, автоматически определяя протокол для использования, если он не указан в информации о подключении. Если протокол не указан, по умолчанию используется подключение X Protocol, в качестве резервного варианта используется классический протокол MySQL. Чтобы принудительно использовать определённый протокол для подключения, см. опции --sqlx или --sqlc. В качестве альтернативы, укажите протокол для использования в строке подключения в стиле URI или используйте опцию --port. Для получения дополнительной информации см. Раздел 4.3, «Подключения к MySQL Shell» и Порты MySQL Shell.

  • --sqlc

    Начать в режиме SQL, принудительно используя классический протокол MySQL для подключения, например, для использования MySQL Shell с сервером, не поддерживающим протокол X Protocol. Если вы не укажете порт в качестве части подключения, при использовании этой опции MySQL Shell использует порт по умолчанию для классического протокола MySQL, обычно 3306. Порт, к которому вы подключаетесь, должен поддерживать классический протокол MySQL. Например, если указанное вами подключение использует порт по умолчанию для протокола X Protocol 33060, подключение завершится ошибкой. Для получения дополнительной информации см. Раздел 4.3, «Подключения к MySQL Shell» и Порты MySQL Shell.

  • --sqlx

    Начать в режиме SQL, принудительно используя протокол X Protocol для подключения. Если вы не укажете порт в качестве части подключения, при использовании этой опции MySQL Shell использует порт по умолчанию для протокола X Protocol, обычно 33060. Порт, к которому вы подключаетесь, должен поддерживать протокол X Protocol. Например, если указанное вами подключение использует порт по умолчанию для классического протокола MySQL 3306, подключение завершится ошибкой. Для получения дополнительной информации см. Раздел 4.3, «Подключения к MySQL Shell» и Порты MySQL Shell.

  • --ssh=str

    Создать SSH-туннель, обеспечивающий зашифрованное подключение к экземпляру сервера MySQL. Укажите URI для подключения к SSH-серверу в формате [user@]host[:port], например:

    --ssh root@198.51.100.4:2222
    

    При использовании этой опции необходимо также указать опции --user, --host и --port, или URI, для подключения к экземпляру сервера MySQL. Сведения о подключениях через SSH-туннель из MySQL Shell см. в Разделе 4.3.7, «Использование SSH-туннеля».

  • --ssh-config-file=path

    Укажите путь к файлу конфигурации SSH для подключения к SSH-серверу. Вы можете использовать опцию конфигурации MySQL Shell ssh.configFile для задания пользовательского файла в качестве значения по умолчанию, если эта опция не указана. Если ssh.configFile не задано, по умолчанию используется стандартный файл конфигурации SSH ~/.ssh/config. Если вы укажете --ssh-config-file с пустым значением, файл по умолчанию, указанный в ssh.configFile, игнорируется, и используется файл ~/.ssh/config вместо него.

  • --ssh-identity-file=path

    Укажите путь к файлу идентификации для подключения к SSH-серверу. По умолчанию, если эта опция не указана, используется стандартный файл закрытого ключа в папке конфигурации SSH (~/.ssh/id_rsa).

  • --ssl*

    Опции, начинающиеся с --ssl, указывают, подключаться ли к серверу с использованием SSL и где найти ключи и сертификаты SSL. Опции SSL для mysqlsh работают так же, как и опции SSL для MySQL Server, см. для получения дополнительной информации.

    mysqlsh принимает следующие опции SSL: , , , , , , , , , .

  • --syslog

    Отправлять SQL-запросы, которые вы вводите в режиме SQL MySQL Shell, в службу системного логирования операционной системы (syslog в Unix или журнал событий Windows). Системная регистрация SQL-запросов происходит только при запуске MySQL Shell в интерактивном режиме, то есть либо при обычном запуске, либо при запуске с опцией --interactive. Она не происходит, если при запуске используются опции --execute или --file для выполнения mysqlsh в пакетном режиме. Для получения дополнительной информации см. Раздел 13.3, «Системная регистрация SQL-запросов пользователя».

  • --tabbed

    Отображать результаты в формате, разделенном табуляцией, в интерактивном режиме. По умолчанию для этого режима используется формат таблицы. Эта опция является псевдонимом опции --result-format=tabbed.

  • --table

    Отображать результаты в формате таблицы в пакетном режиме. По умолчанию для этого режима используется формат, разделенный табуляцией. Эта опция является псевдонимом опции --result-format=table.

  • --uri=str

    Создать подключение при запуске, указав параметры подключения в строке в стиле URI, как описано в .

  • --user=user_name, -u user_name

    Имя пользователя MySQL, используемое при подключении к серверу.

  • --verbose[=0|1|2|3|4]

    Активировать подробный вывод на консоль и указать уровень детализации. Значение — целое число в диапазоне от 0 до 4. 0 — не отображать сообщения, что является значением по умолчанию по умолчанию, если опция не указана. 1 — отображать сообщения об ошибках, предупреждения и информационные сообщения (это значение по умолчанию, если вы указываете опцию в командной строке без значения). 2, 3 и 4 добавляют сообщения отладки более высокого уровня. Для получения дополнительной информации см. Главу 13, Регистрация и отладка MySQL Shell.

  • --version, -V

    Отобразить версию MySQL Shell и выйти.

  • --vertical, -E

    Отобразить результаты вертикально, как и при использовании \G терминатора для SQL-запроса. Эта опция является псевдонимом опции --result-format=vertical.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-shell-9.2-en/mysqlsh.html

Spec-Zone.ru

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