Spec-Zone.ru › MySQL Shell 9.2

4.3 Подключения к MySQL Shell

  • 4.3.1 Подключение с использованием отдельных параметров
  • 4.3.2 Подключение с использованием файлов login-path и параметров
  • 4.3.3 Подключение с использованием Unix-сокеттов и именованных каналов Windows
  • 4.3.4 Использование шифрованных подключений
  • 4.3.5 Использование аутентификации LDAP и Kerberos
  • 4.3.6 Использование OpenID Connect
  • 4.3.7 Использование SSH-туннеля
  • 4.3.8 Использование сжатых подключений

MySQL Shell может подключаться к MySQL Server с использованием как X Protocol, так и классического протокола MySQL. Вы можете указать экземпляр MySQL-сервера, к которому подключается MySQL Shell, глобально следующими способами:

  • При запуске MySQL Shell с помощью параметров командной строки. См. Раздел 4.3.1, «Подключение с использованием отдельных параметров».

  • При работе MySQL Shell с помощью команды \connect instance. См. Раздел 3.1, «Команды MySQL Shell».

  • При работе в режиме Python или JavaScript, используя метод shell.connect().

Эти методы подключения к экземпляру MySQL-сервера создают глобальную сессию, которая может использоваться во всех режимах работы MySQL Shell: SQL-режиме, JavaScript-режиме и Python-режиме. Глобальный объект MySQL Shell, названный session, представляет это подключение, а переменная session содержит ссылку на него. Вы также можете создать несколько дополнительных объектов сессий, представляющих другие подключения к экземплярам MySQL-серверов, используя функции shell.openSession(), mysqlx.getSession(), mysql.getSession() или mysql.getClassicSession(). Эти подключения могут использоваться в режимах, в которых они были созданы, и по одному из них за раз может быть назначен глобальная сессия MySQL Shell для использования во всех режимах. Для получения объяснений об объектах сессий, о работе с глобальной сессией и о создании и управлении несколькими подключениями из экземпляра MySQL Shell см. Раздел 4.2, «Сессии MySQL Shell».

Все эти способы подключения к экземпляру MySQL-сервера поддерживают указание подключения следующим образом:

  • Параметры, указанные в строке, похожей на URI, используют синтаксис, такой как myuser@example.com:3306/main-schema. Полный синтаксис см. в .

  • Параметры, указанные с помощью пар ключ-значение, используют синтаксис, такой как {user:'myuser', host:'example.com', port:3306, schema:'main-schema'}. Эти пары ключ-значение предоставляются в естественном для языка формате для реализации. Например, вы можете предоставить параметры подключения с помощью пар ключ-значение в виде JSON-объекта в JavaScript или в виде словаря в Python. Полный синтаксис см. в .

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

Важно

Независимо от способа подключения важно понимать, как MySQL Shell обрабатывает пароли. По умолчанию предполагается, что подключения требуют пароля. Пароль (максимальная длина 128 символов) запрашивается в окне входа в систему и может быть сохранен с помощью Раздела 4.4, «Подключаемый хранилище паролей». Если у указанного пользователя есть учетная запись без пароля, что небезопасно и не рекомендуется, или если используется аутентификация по сокетным данным (например, при использовании Unix-сокеттов), вы должны явно указать, что пароль не предоставляется, и запрос пароля не требуется. Для этого используйте один из следующих методов:

  • Если вы подключаетесь с помощью строки подключения, похожей на URI, поместите : после user в строке, но не указывайте пароль после него.

  • Если вы подключаетесь с помощью пар ключ-значение, предоставьте пустую строку с помощью '' после ключа password.

  • Если вы подключаетесь с помощью отдельных параметров, укажите параметр --no-password или параметр --password= со значением пустой строки.

Если вы не указываете параметры для подключения, используются следующие значения по умолчанию:

  • user по умолчанию устанавливается в текущее имя пользователя системы.

  • host по умолчанию устанавливается в localhost.

  • port по умолчанию устанавливается на порт 33060 для X Plugin при использовании подключения X Protocol и на порт 3306 при использовании классического протокола MySQL.

Для настройки таймаута подключения используйте параметр подключения connect-timeout. Значение connect-timeout должно быть неотрицательным целым числом, определяющим временной интервал в миллисекундах. Значение таймаута по умолчанию составляет 10000 миллисекунд, или 10 секунд. Например:

// Decrease the timeout to 2 seconds.
mysql-js> \connect user@example.com?connect-timeout=2000
// Increase the timeout to 20 seconds
mysql-js> \connect user@example.com?connect-timeout=20000

Для отключения таймаута установите значение connect-timeout в 0, что означает, что клиент ожидает, пока базовый сокет не истечет, что зависит от платформы.

Определенные операции, которые открывают много подключений к серверам, могут занимать много времени при выполнении, если один или несколько серверов недоступны, например, команда shell.connect(). Таймаут подключения может не предоставлять достаточно времени для получения ответа.

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

Вместо TCP-подключения вы можете подключиться с помощью файла Unix-сокеттов или именованного канала Windows. Инструкции см. в Разделе 4.3.3, «Подключение с использованием Unix-сокеттов и именованных каналов Windows».

Если экземпляр MySQL-сервера поддерживает шифрованные подключения, вы можете включить и настроить подключение для использования шифрования. Инструкции см. в Разделе 4.3.4, «Использование шифрованных подключений».

Поддержка аутентификации LDAP и Kerberos для классических подключений к MySQL протоколу. Инструкции см. в Разделе 4.3.5, «Использование аутентификации LDAP и Kerberos».

MySQL Shell поддерживает SSH-туннелирование для подключения к экземплярам MySQL-сервера. Инструкции см. в Разделе 4.3.7, «Использование SSH-туннеля».

Вы также можете запросить, чтобы подключение использовало сжатие для всех данных, передаваемых между MySQL Shell и экземпляром MySQL-сервера. Инструкции см. в Разделе 4.3.8, «Использование сжатых подключений».

Если соединение с сервером потеряно, вы можете использовать команду \reconnect, которая заставляет MySQL Shell попытаться несколько раз подключиться к текущей глобальной сессии с использованием существующих параметров подключения. Команда \reconnect указывается без каких-либо параметров или опций. Если эти попытки не увенчаются успехом, вы можете установить новое подключение с помощью команды \connect и указанием параметров подключения.

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

Spec-Zone.ru

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