Spec-Zone.ru › MySQL Shell 9.2

3.1 Команды MySQL Shell

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

Команда Псевдоним/Сокращение Описание

\help

\h или \?

Вывод справки о MySQL Shell или поиск в онлайн-справке.

\quit

\q или \exit

Выход из MySQL Shell.

\

В SQL режиме начать режим многострочных команд. Код кэшируется и выполняется при вводе пустой строки.

\status

\s

Отображение текущего статуса MySQL Shell.

\js

Переключить режим выполнения на JavaScript.

\py

Переключить режим выполнения на Python.

\sql

Переключить режим выполнения на SQL.

\connect

\c

Подключиться к экземпляру MySQL.

\reconnect

Подключиться к тому же экземпляру MySQL.

\disconnect

Отключить глобальную сессию.

\use

\u

Указать схему для использования.

\source

\. или source (без обратной косой черты)

Выполнить скриптовый файл с использованием активного языка.

\warnings

\W

Отобразить любые предупреждения, сгенерированные оператором.

\nowarnings

\w

Не отображать любые предупреждения, сгенерированные оператором.

\history

Просмотр и редактирование истории командной строки.

\rehash

Ручное обновление кэша имен автодополнения.

\option

Запрос и изменение параметров конфигурации MySQL Shell.

\show

Выполнить указанный отчет с использованием предоставленных параметров и аргументов.

\watch

Выполнить указанный отчет с использованием предоставленных параметров и аргументов и обновлять результаты с регулярными интервалами.

\edit

\e

Открыть команду в стандартном системном редакторе, затем представить ее в MySQL Shell.

\pager

\P

Настройка программы просмотра, которую MySQL Shell использует для отображения текста.

\nopager

Отключить любую программу просмотра, которая была настроена для использования MySQL Shell.

\system

\!

Выполнить указанную системную команду и отобразить результаты в MySQL Shell.

\query_attributes

Позволяет определять атрибуты запроса для ваших SQL-запросов. Функциональность MySQL Shell идентична функциональности MySQL-клиента.

Команда справки

Команда \help может использоваться с параметром или без него. При использовании без параметра выводится сообщение справки общего назначения, содержащее информацию о доступных командах MySQL Shell, глобальных объектах и основных категориях справки.

При использовании с параметром, параметр используется для поиска доступной справки на основе режима, в котором в данный момент работает MySQL Shell. Параметр может быть словом, командой, функцией API или частью SQL-запроса. Существуют следующие категории:

  • AdminAPI - деталирует глобальный объект dba и AdminAPI, который позволяет работать с InnoDB Cluster, InnoDB ClusterSet и InnoDB ReplicaSet.

  • X DevAPI - детализирует модуль mysqlx, а также возможности X DevAPI, которые позволяют работать с MySQL как с хранилищем документов.

  • Shell Commands - предоставляет подробную информацию о доступных встроенных командах MySQL Shell.

  • ShellAPI - содержит информацию о глобальных объектах shell и util, а также модуле mysql, который позволяет выполнять SQL-запросы на серверах MySQL.

  • SQL Syntax - точка входа для получения справки по синтаксису SQL-операторов.

Для поиска справки по теме, например, по функции API, используйте имя функции в качестве pattern. Вы можете использовать символы подстановки ? для соответствия любому одиночному символу и * для соответствия нескольким символам в поиске. Символы подстановки могут использоваться один или несколько раз в шаблоне. При поиске справки также могут использоваться следующие пространства имен:

  • dba для AdminAPI

  • mysqlx для X DevAPI

  • mysql для ShellAPI для классического протокола MySQL

  • shell для других классов ShellAPI: Shell, Sys, Options

  • commands для команд MySQL Shell

  • cmdline для интерфейса командной строки mysqlsh

Например, для поиска справки по теме, выполните \help pattern и:

  • используйте x devapi для поиска справки по X DevAPI

  • используйте \c для поиска справки по команде MySQL Shell \connect

  • используйте getCluster или dba.getCluster для поиска справки по операции AdminAPI dba.getCluster()

  • используйте Table или mysqlx.Table для поиска справки по классу X DevAPI Table

  • при работе MySQL Shell в режиме JavaScript, используйте isView, Table.isView или mysqlx.Table.isView для поиска справки по функции isView объекта Table

  • при работе MySQL Shell в режиме Python, используйте is_view, Table.is_view или mysqlx.Table.is_view для поиска справки по функции isView объекта Table

  • при работе MySQL Shell в режиме SQL, если существует глобальная сессия с сервером MySQL, отображается справка по SQL. Для обзора используйте sql syntax в качестве шаблона поиска.

В зависимости от предоставленного шаблона поиска может быть найдено одно или несколько результатов. Если только одна тема справки содержит шаблон поиска в своем заголовке, эта тема справки отображается. Если несколько заголовков тем соответствуют шаблону, но один из них является точным соответствием, эта тема справки отображается, за ней следует список других тем с совпадениями шаблона в их заголовках. Если точного соответствия не найдено, отображается список тем с совпадениями шаблона в их заголовках. Если возвращается список тем, вы можете выбрать тему для просмотра из списка, повторно введя команду с расширенным шаблоном поиска, который соответствует заголовку соответствующей темы.

Команды подключения, повторного подключения и отключения

Команда \connect используется для подключения к серверу MySQL. См. Раздел 4.3, «Подключения в MySQL Shell».

Например:

\connect root@localhost:3306

Если требуется пароль, будет запрошен пароль.

Используйте опцию --mysqlx (--mx), чтобы создать сеанс с использованием X Protocol для подключения к экземпляру сервера MySQL. Например:

\connect --mysqlx root@localhost:33060

Используйте опцию --mysql (--mc), чтобы создать ClassicSession, позволяющую использовать классический протокол MySQL для непосредственного выполнения SQL-запросов на сервере. Например:

\connect --mysql root@localhost:3306

Используйте опцию --ssh для создания или повторного использования SSH-туннеля, обеспечивающего зашифрованное подключение к экземпляру сервера MySQL. Использование команд AdminAPI не поддерживается для подключений, созданных из MySQL Shell с помощью SSH-туннелирования. Укажите URI для подключения к SSH-серверу в формате [user@]hostname[:port], за которым следует URI экземпляра MySQL, например:

\connect --ssh root@198.51.100.4:2222 root@localhost:3306

При использовании опции --ssh необходимо указать порт для подключения к экземпляру сервера MySQL в URI экземпляра MySQL.

SSH-туннель, настроенный с помощью команды \connect, должен использовать файл конфигурации SSH и файл идентификатора по умолчанию. Инструкции по настройке и дополнительную информацию о подключении через SSH-туннель из MySQL Shell см. в Разделе 4.3.7, «Использование SSH-туннеля». Вы можете настроить SSH-туннель с помощью метода shell.connect() или в командной строке для получения дополнительных параметров настройки. После создания SSH-туннель может быть использован для подключений к одному хосту от одного пользователя из одного экземпляра, независимо от используемого метода настройки.

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

Команда \disconnect также указывается без параметров или опций. Команда отключает глобальный сеанс MySQL Shell (сеанс, представленный глобальным объектом session) от подключенного экземпляра сервера MySQL, позволяя закрыть подключение, но при этом продолжить использование MySQL Shell.

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

Команда Status

Команда \status отображает информацию о текущем глобальном подключении. Включая информацию о подключенном сервере, используемой кодировке, времени активности и т. д.

Команда Source

Команда \source или её алиас \. может быть использована в интерактивном режиме MySQL Shell для выполнения кода из файла скрипта по заданному пути. Например:

\source /tmp/mydata.sql

Вы можете выполнить SQL, JavaScript или Python код. Код в файле выполняется с помощью активного языка, поэтому для обработки SQL-кода MySQL Shell должен быть в SQL-режиме.

Предупреждение

Поскольку код выполняется с использованием активного языка, выполнение скрипта на языке, отличном от языка текущего режима выполнения, может привести к непредвиденным результатам.

Для совместимости с клиентом mysql, только в SQL-режиме, вы можете выполнить код из файла скрипта с помощью команды source без обратного слэша и необязательного разделителя SQL. source или алиас \. (который не использует разделитель SQL) может быть использован как в интерактивном режиме MySQL Shell для SQL для непосредственного выполнения скрипта, так и в файле SQL-кода, обрабатываемом в пакетном режиме, для выполнения дополнительного скрипта изнутри файла. Таким образом, в MySQL Shell в SQL-режиме вы можете теперь выполнить скрипт в файле /tmp/mydata.sql из интерактивного режима или пакетного режима, используя любую из этих трех команд:

source /tmp/mydata.sql;
source /tmp/mydata.sql
\. /tmp/mydata.sql  

Команда \source /tmp/mydata.sql также допустима, но только в интерактивном режиме.

В интерактивном режиме сама команда \source, \. или source добавляется в историю MySQL Shell, но содержимое выполняемого файла скрипта в историю не добавляется.

Команда Use

Команда \use позволяет выбрать активную схему, например:

\use schema_name

Команда \use требует, чтобы был активен глобальный сеанс разработки. Команда \use устанавливает текущую схему на указанную schema_name и обновляет переменную db до объекта, представляющего выбранную схему.

Команда History

Команда \history выводит список ранее введённых команд в MySQL Shell. Выполнение команды \history отобразит записи истории в порядке их ввода с номером записи истории, который можно использовать с командой \history delete entry_number.

Команда \history предоставляет следующие варианты:

  • Используйте \history save для ручного сохранения истории.

  • Используйте \history delete entrynumber для удаления отдельной записи истории с заданным номером.

  • Используйте \history delete firstnumber-lastnumber для удаления записей истории в диапазоне заданных номеров. Если lastnumber выходит за пределы последнего найденного номера записи истории, записи истории удаляются до и включая последнюю запись.

  • Используйте \history delete number- для удаления записей истории с number до и включая последнюю запись.

  • Используйте \history delete -number для удаления указанного количества записей истории, начиная с последней и двигаясь назад. Например, \history delete -10 удаляет последние 10 записей истории.

  • Используйте \history clear для удаления всей истории.

История по умолчанию не сохраняется между сеансами, поэтому при выходе из MySQL Shell история, введённая в текущем сеансе, теряется. Если нужно сохранить историю между сеансами, активируйте опцию MySQL Shell history.autoSave. Подробности см. в Разделе 5.5, «История кода».

Команда Rehash

При отключённой функции кэширования автодополнения имён, используйте команду \rehash для ручного обновления кэша. Например, после загрузки новой схемы командой \use schema, выполните \rehash для обновления кэша автодополнения имён. После этого автодополнение будет учитывать имена, используемые в базе данных, и вы сможете автоматически дополнять текст, например, имена таблиц и т. д. См. Раздел 5.3, «Автодополнение кода».

Команда Option

Команда \option позволяет запросить и изменить параметры конфигурации MySQL Shell во всех режимах. Используйте команду \option для просмотра установленных параметров конфигурации и информации о последнем изменении их значения. Также можно использовать её для установки и отключения параметров, как для сеанса, так и для сохранения в файле конфигурации MySQL Shell. Инструкции и список параметров конфигурации см. в Разделе 14.4, «Настройка параметров MySQL Shell».

Команды Pagers

Вы можете настроить MySQL Shell для использования внешнего пайпера для чтения длинного вывода на экране, например, онлайн справки или результатов SQL-запросов. См. Раздел 4.6, «Использование Pagera».

Команды Show и Watch

Команда \show выполняет указанный отчёт, который может быть встроенным отчётом MySQL Shell или пользовательским отчётом, зарегистрированным в MySQL Shell. Вы можете указать стандартные опции для команды и любые опции или дополнительные аргументы, которые поддерживает отчёт. Команда \watch выполняет отчёт так же, как и команда \show, но затем обновляет результаты через равные промежутки времени до отмены команды с помощью Ctrl + C. Инструкции см. в Разделе 11.1.5, «Выполнение отчётов MySQL Shell».

Команда Edit

Команда \edit (\e) открывает команду в системном редакторе по умолчанию для редактирования, затем отображает отредактированную команду в MySQL Shell для выполнения. Команду также можно вызвать с помощью комбинации клавиш Ctrl-X Ctrl-E. Подробнее см. в Разделе 5.4, «Редактирование кода».

Команда Система

Команда \system (\!) выполняет операционную команду, указанную в качестве аргумента, затем отображает вывод команды в MySQL Shell. MySQL Shell возвращает ошибку, если не удалось выполнить команду. Вывод команды возвращается так, как он представлен операционной системой, и не обрабатывается функцией обертки JSON MySQL Shell или любым внешним инструментом просмотра вывода, который вы указали.

Команда query_attributes

Команда query_attribute и метод session.setQueryAttributes позволяют определять атрибуты запросов для ваших SQL-запросов. Функциональность MySQL Shell идентична функциональности MySQL-клиента.

Примечание

Настройка атрибутов запросов поддерживается только для классического протокола MySQL. Она не поддерживается для сеансов протокола X.

Для получения дополнительной информации, см.:

Пример настройки атрибутов запроса

В следующих примерах устанавливаются атрибуты att1 и att2 со значениями val1 и val2 соответственно:

  • SQL

    SQL> \query_attributes att1 val1 att2 val2
              
  • JavaScript

    JS> session.setQueryAttributes({att1:"val1",att2:"val2"})
              
  • Python

    PY> session.set_query_attributes({att1:"val1",att2:"val2"})
              

Пример получения атрибутов запроса

Атрибуты могут быть получены с помощью функции.

Например:

  • SQL

    SQL> select mysql_query_attribute_string("att1") as "Attribute 1", mysql_query_attribute_string("att2")as "Attribute 2"
         +-------------+-------------+
         | Attribute 1 | Attribute 2 |
         +-------------+-------------+
         | v1          | v2          |
         +-------------+-------------+
              
  • JavaScript

    JS> session.runSql("select mysql_query_attribute_string("att1") as "Attribute 1", mysql_query_attribute_string("att2")as "Attribute 2"')")
        +-------------+-------------+
        | Attribute 1 | Attribute 2 |
        +-------------+-------------+
        | v1          | v2          |
        +-------------+-------------+
              

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

Spec-Zone.ru

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