4.4 Подключаемый хранилище паролей
Для повышения удобства и безопасности работы с 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.