Spec-Zone.ru › MySQL Shell 8.4

4.2 Сессии MySQL Shell

  • 4.2.1 Создание глобального объекта Session при запуске MySQL Shell
  • 4.2.2 Создание глобального объекта Session после запуска MySQL Shell
  • 4.2.3 Сценарии сессий в режимах JavaScript и Python

В MySQL Shell соединения с экземплярами MySQL Server обрабатываются объектом сессии. Доступны следующие типы объектов сессии:

  • Session: Используйте этот тип объекта сессии для разработки новых приложений, взаимодействующих с экземплярами MySQL Server, где доступен протокол X. Протокол X обеспечивает лучшую интеграцию с MySQL Server. Для использования протокола X требуется установка и активация плагина X на экземпляре MySQL Server, что по умолчанию выполняется с MySQL 8.0. Плагин X прослушивает порт, указанный в , по умолчанию 33060, поэтому укажите этот порт при подключении с помощью Session.

  • ClassicSession: Используйте этот тип объекта сессии для взаимодействия с экземплярами MySQL Server, где протокол X недоступен. Этот объект предназначен для выполнения SQL-запросов на серверах с использованием классического протокола MySQL. Доступный API для этого типа сессий очень ограничен. Например, отсутствуют операции CRUD X DevAPI, обработка коллекций и поддержка связывания. Для разработки предпочтительны объекты Session, когда это возможно.

Важно

ClassicSession специфичен для MySQL Shell и не может использоваться с другими реализациями X DevAPI, такими как MySQL Connectors.

При первом подключении к экземпляру MySQL Server, которое может быть выполнено при запуске MySQL Shell или позже, в MySQL Shell создается глобальный объект, названный session, представляющий это подключение. Этот конкретный объект сессии является глобальным, так как после создания он может использоваться во всех режимах выполнения MySQL Shell: SQL-режим, JavaScript-режим и Python-режим. Соответствующее соединение поэтому называется глобальной сессией. Переменная session хранит ссылку на этот объект сессии и может использоваться в MySQL Shell в режимах JavaScript и Python для работы с подключением.

Глобальный объект session может быть объектом сессии типа Session или объектом сессии типа ClassicSession в зависимости от выбранного протокола при подключении к экземпляру MySQL Server. Вы можете выбрать протокол, а значит и тип объекта сессии, с помощью параметра команды или указать его в данных подключения. Чтобы получить информацию о текущей глобальной сессии, выполните:

mysql-js []> session

<ClassicSession:user@example.com:3330>

При подключении глобальной сессии отображается тип объекта сессии и адрес экземпляра MySQL Server, к которому подключена глобальная сессия.

Если вы явно выбираете протокол или неявно указываете его при подключении, MySQL Shell пытается установить соединение с использованием этого протокола и возвращает ошибку, если это не удается. Если параметры подключения не указывают протокол, MySQL Shell сначала пытается установить соединение с использованием протокола X (возвращает объект сессии типа Session), и если это не удается, пытается установить соединение с использованием классического протокола MySQL (возвращает объект сессии типа ClassicSession).

Для проверки результатов попытки подключения используйте команду MySQL Shell \status или метод shell.status(). Эти команды отображают протокол подключения и другую информацию о подключении, представленном глобальным объектом session, или возвращают «Не подключено», если глобальный объект session не подключен к серверу MySQL. Например:

mysql-js []> shell.status()
MySQL Shell version 8.1.0-commercial

Connection Id:                9
Current schema:
Current user:                 root@localhost
SSL:                          Cipher in use: TLS_AES_256_GCM_SHA384 TLSv1.3
Using delimiter:              ;
Server version:               8.1.0-commercial MySQL Enterprise Server - Commercial
Protocol version:             Classic 10
Client library:               8.1.0
Connection:                   localhost via TCP/IP
TCP port:                     3306
Server characterset:          utf8mb4
Schema characterset:          utf8mb4
Client characterset:          utf8mb4
Conn. characterset:           utf8mb4
Result characterset:          utf8mb4
Compression:                  Disabled
Uptime:                       9 hours 42 min 5.0000 sec

Threads: 2  Questions: 61  Slow queries: 0  Opens: 176  Flush tables: 3  Open tables: 95  Queries per second avg: 0.001

В этом разделе подробно описаны объекты сессий, представляющие подключения к экземплярам MySQL Server, и глобальный объект session. Полные инструкции и примеры каждого из способов подключения к экземплярам MySQL Server, упомянутые в этом разделе, а также другие доступные параметры подключения см. в разделе 4.3, «Подключения MySQL Shell».

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

Spec-Zone.ru

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