Spec-Zone.ru › MySQL Shell 8.4

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 Использование SSH-туннеля
  • 4.3.7 Использование сжатых подключений

MySQL Shell может подключаться к MySQL Server с использованием как протокола X, так и классического протокола 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 по умолчанию устанавливается в порт X Plugin 33060 при использовании подключения 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.6, «Использование SSH-туннеля».

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

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

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

Spec-Zone.ru

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