Это команда mysqlmetagrep, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
mysqlmetagrep — поиск определений объектов базы данных
СИНТАКСИС
mysqlmetagrep [кредита] [описания | сервер] ...
ОПИСАНИЕ
Эта утилита ищет объекты, соответствующие заданному шаблону, на всех указанных серверах.
используя экземпляры --сервер вариант. Он производит вывод, который отображает соответствующие
объекты. По умолчанию первый аргумент, не являющийся опцией, считается шаблоном, если только
--шаблон предоставлен вариант. Если --шаблон указана опция, все аргументы, не являющиеся опциями,
рассматриваются как характеристики соединения.
Внутренне утилита генерирует оператор SQL для поиска необходимых таблиц в
ИНФОРМАЦИЯ_СХЕМА базу данных на назначенных серверах и выполняет ее по очереди, прежде чем
собираем результат и распечатываем его в виде таблицы. Использовать --sql возможность иметь утилиту
отображать оператор, а не выполнять его. Это может быть полезно, если вы хотите накормить
вывод оператора в другое приложение, например mysql монитор.
Сервер MySQL поддерживает две формы шаблонов при сопоставлении строк: Простые шаблоны SQL.
(используется с LIKE оператор) и регулярные выражения POSIX (используемые с оператором REGEXP
оператор).
По умолчанию утилита использует LIKE оператор, соответствующий имени (и, возможно,
тело) предметов. Чтобы использовать REGEXP вместо этого используйте оператор --regexp опцию.
Обратите внимание, что поскольку REGEXP оператор выполняет поиск подстроки, необходимо привязать
выражение в начало строки, если вы хотите сопоставить начало строки
строка.
Чтобы указать, как отображать вывод, используйте одно из следующих значений с --формат
опции:
· сетка (По умолчанию)
Отображение вывода в формате сетки или таблицы, как в mysql монитор.
· CSV
Отображение вывода в формате значений, разделенных запятыми.
· таб
Отображать вывод в формате, разделенном табуляцией.
· вертикальный
Отображать вывод в формате с одним столбцом, как в команде \ G для mysql
монитор.
Простые шаблоны SQL
Простые шаблоны, определенные стандартом SQL, состоят из строки символов с двумя
символы, имеющие особое значение: % (процент) соответствует нулю или более символам и _
(подчеркивание) соответствует ровно одному символу.
Например:
· 'маты%'
Соответствует любой строке, начинающейся с «mats».
· '%kindahl%'
Сопоставьте любую строку, содержащую слово «kindahl».
· '%_'
Соответствует любой строке, состоящей из одного или нескольких символов.
Регулярные выражения POSIX
Регулярные выражения POSIX более эффективны, чем простые шаблоны, определенные в SQL.
стандарт. Регулярное выражение — это строка символов, необязательно содержащая символы.
с особым смыслом:
· .
Сопоставьте любого персонажа.
· ^
Соответствует началу строки.
· $
Соответствует концу строки.
· [акси]
Совпадение a, x или y.
· [аф]
Соответствует любому символу в диапазоне a в f (это, a, b, c, d, e или f).
· [^акси]
Сопоставьте любого персонажа кромеa, x или y.
· a*
Сопоставить последовательность из нуля или более a.
· a+
Сопоставьте последовательность из одного или нескольких a.
· a?
Соответствует нулю или одному a.
· аб|cd
Совпадение ab or cd.
· а{5}
Сопоставьте пять экземпляров a.
· а{2,5}
Сопоставьте от двух до пяти экземпляров a.
· (абв)+
Сопоставьте одно или несколько повторений азбука.
Это лишь краткий набор примеров регулярных выражений. Полный синтаксис описан
в MySQL руководство[1], но часто встречается в регулярное выражение(7).
ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ
mysqlmetagrep принимает следующие параметры командной строки:
· --помощь
Отобразите справочное сообщение и выйдите.
· --body, -b
Поиск в теле сохраненных программ (процедур, функций, триггеров и событий).
по умолчанию соответствует только имя.
· --database=
Ищите только в базах данных, соответствующих этому шаблону.
· --Format = , -f
Укажите выходной формат отображения. Допустимые значения формата: сетка, CSV, таб и
вертикальный, По умолчанию сетка.
· --object-types= , --search-objects=
Искать только типы объектов, указанные в Типы, который представляет собой разделенный запятыми список из одного или
больше ценностей процедуры , функция, мероприятие, вызвать, (см. таблицу ниже) и база данных.
По умолчанию поиск осуществляется среди объектов всех типов.
· --pattern= , -е=
Шаблон, используемый при сопоставлении. Это требуется, когда первый аргумент, не являющийся опцией,
выглядит как спецификация соединения, а не как шаблон.
Если же линия индикатора --шаблон указана опция, первый аргумент, не являющийся опцией, рассматривается как
спецификатор соединения, а не шаблон.
· --Regexp, --basic-regexp, -G
Выполните сопоставление с образцом, используя REGEXP оператор. По умолчанию используется LIKE для
соответствие. Это влияет на --база данных и --шаблон настройки.
· --Server =
Информация о подключении к серверу для поиска в формате:
<пользователь> [:ПАРОЛЬ>] @кашель> [:порт>] [:гнездо>] илилогин-путь> [:порт>] [:гнездо>]. Использовать
эта опция несколько раз для поиска на нескольких серверах.
· --sql, --print-sql, -p
Печатайте вместо выполнения кода SQL, который будет выполняться для поиска всех совпадающих
объекты. Это может быть полезно для сохранения оператора для последующего выполнения или для использования его в качестве
вход для других программ.
· --Версия
Вывести информацию о версии и выйти.
ПРИМЕЧАНИЯ
Для того, чтобы получить --формат опция, допустимые значения не чувствительны к регистру. Кроме того, значения
может быть определен как любой недвусмысленный префикс допустимого значения. Например, --format = g
определяет формат сетки. Ошибка возникает, если префикс соответствует более чем одному допустимому значению.
Путь к клиентским инструментам MySQL должен быть включен в переменную среды PATH в
чтобы использовать механизм аутентификации с путями входа. Это позволит утилите
используйте инструменты my_print_defaults, которые необходимы для чтения значений пути входа из
файл конфигурации входа в систему (.mylogin.cnf).
ПРИМЕРЫ
Найдите все объекты с именем, соответствующим шаблону «t_» (буква t, за которой следует любая буква t).
один символ):
$ mysqlmetagrep --pattern="t_" --server=mats@localhost
+------------------------+--------------+--------- -----+-----------+
| Подключение | Тип объекта | Имя объекта | База данных |
+------------------------+--------------+--------- -----+-----------+
| маты:*@localhost:3306 | ТАБЛИЦА | т1 | тест |
| маты:*@localhost:3306 | ТАБЛИЦА | т2 | тест |
| маты:*@localhost:3306 | ТАБЛИЦА | т3 | тест |
+------------------------+--------------+--------- -----+-----------+
Чтобы найти все объекты, содержащие «t2» в имени или теле (для подпрограмм, триггеров и
события):
$ mysqlmetagrep -b --pattern="%t2%" --server=mats@localhost:3306
+------------------------+--------------+--------- -----+-----------+
| Подключение | Тип объекта | Имя объекта | База данных |
+------------------------+--------------+--------- -----+-----------+
| корень:*@localhost:3306 | ТРИГГЕР | тр_фу | тест |
| корень:*@localhost:3306 | ТАБЛИЦА | т2 | тест |
+------------------------+--------------+--------- -----+-----------+
В предыдущем выводе имя триггера не соответствует шаблону, но отображается
потому что его тело так делает.
Это то же самое, что и предыдущий пример, но с использованием REGEXP оператор. Обратите внимание, что в
шаблону нет необходимости добавлять подстановочные знаки до или после t2:
$ mysqlmetagrep -Gb --pattern="t2" --server=mats@localhost
+------------------------+--------------+--------- -----+-----------+
| Подключение | Тип объекта | Имя объекта | База данных |
+------------------------+--------------+--------- -----+-----------+
| корень:*@localhost:3306 | ТРИГГЕР | тр_фу | тест |
| корень:*@localhost:3306 | ТАБЛИЦА | т2 | тест |
+------------------------+--------------+--------- -----+-----------+
АВТОРСКИЕ ПРАВА
ПРИМЕЧАНИЯ
1. Руководство по MySQL
http://dev.mysql.com/doc/mysql/en/regexp.html
Используйте mysqlmetagrep онлайн с помощью сервисов onworks.net.