Spec-Zone.ru › MySQL Shell 8.4

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 для подключения к экземпляру сервера 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.6, «Использование SSH-туннеля». Вы можете настроить SSH-туннель с помощью метода shell.connect() или в командной строке, чтобы получить дополнительные параметры настройки. После создания SSH-туннель может быть использован для нескольких подключений к тому же хосту от одного пользователя с одного экземпляра, независимо от метода первоначального создания.

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

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

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

Команда статуса

Команда \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 выводит список команд, которые вы ранее вводили в 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. Инструкции и список конфигурационных параметров см. в Разделе 13.4, «Настройка параметров MySQL Shell».

Команды просмотрщика

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

Команды Show и Watch

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

Команда Edit

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

END_OF_DOCUMENT_MARKER

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

Команда \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-8.4-en/mysql-shell-commands.html

Spec-Zone.ru

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