Spec-Zone.ru › MySQL Shell 9.2

4.4 Подключаемый хранилище паролей

  • 4.4.1 Параметры конфигурации подключаемого хранилища паролей
  • 4.4.2 Работа с учетными данными

Для повышения удобства и безопасности работы с MySQL Shell, вы можете сохранять пароль для подключения к серверу в хранилище секретов, таком как хранилище ключей. Вы вводите пароль для подключения интерактивно, и он сохраняется вместе с URL-адресом сервера в качестве учетных данных для подключения. Например:

mysql-js> \connect user@localhost:3310
Creating a session to 'user@localhost:3310'
Please provide the password for 'user@localhost:3310': ********
Save password for 'user@localhost:3310'? [Y]es/[N]o/Ne[v]er (default No): y

После сохранения пароля для URL-адреса сервера, каждый раз при открытии сессии MySQL Shell извлекает пароль из настроенного помощника хранилища секретов для входа на сервер без необходимости ввода пароля интерактивно. То же самое относится к сценарию, выполняемому MySQL Shell. Если помощник хранилища секретов не настроен, пароль запрашивается интерактивно.

Важно

MySQL Shell сохраняет только URL-адрес сервера и пароль через хранилище секретов и не сохраняет пароль самостоятельно.

Пароли сохраняются только при их ручном вводе. Если пароль предоставлен с помощью строки подключения, подобной строке URI сервера, или в командной строке при запуске mysqlsh, он не сохраняется.

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

MySQL Shell предоставляет встроенную поддержку следующих хранилищ секретов:

  • Путь входа MySQL, доступный на всех платформах, поддерживаемых сервером MySQL. Он предоставляется утилитой конфигурации MySQL mysql_config_editor, которая предлагает постоянное хранение. См. . Linux-сборки MySQL Shell включают mysql_config_editor, чтобы функциональность могла быть использована, если пакет MySQL-клиента не установлен на системе.

  • Хранилище ключей macOS, см. здесь.

  • API Windows, см. здесь.

При работе MySQL Shell в интерактивном режиме извлечение пароля выполняется при каждом запуске новой сессии, и пользователя попросят ввести пароль. Перед запросом помощник хранилища секретов запрашивает пароль, используя URL-адрес сессии. Если совпадение найдено, этот пароль используется для открытия сессии. Если полученный пароль недействителен, в журнал добавляется сообщение, пароль удаляется из хранилища секретов, и MySQL Shell попросит вас ввести пароль.

Если MySQL Shell работает в неинтерактивном режиме (например, использовался --no-wizard), извлечение пароля выполняется так же, как и в интерактивном режиме. Но в этом случае, если помощник хранилища секретов не найдет действительный пароль, MySQL Shell попытается открыть сессию без пароля.

Пароль для URL-адреса сервера может быть сохранён, когда успешно установлено подключение к серверу MySQL, и пароль не был извлечен помощником хранилища секретов. Решение о сохранении пароля принимается на основе credentialStore.savePasswords и credentialStore.excludeFilters, описанных здесь.

Автоматическое сохранение и извлечение пароля выполняется, когда:

  • mysqlsh вызывается с любыми параметрами подключения при установлении первой сессии

  • вы используете встроенную команду \connect

  • вы используете метод shell.connect()

  • вы используете любые методы AdminAPI, которые требуют подключения

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-shell-8.4-en/mysql-shell-pluggable-password-store.html

Spec-Zone.ru

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