Dies ist der Befehl mysqlmetagrep, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann
PROGRAMM:
NAME/FUNKTION
mysqlmetagrep – Datenbankobjektdefinitionen durchsuchen
ZUSAMMENFASSUNG
mysqlmetagrep [Optionen] [Anleitungen | Server] ...
BESCHREIBUNG
Dieses Dienstprogramm sucht auf allen angegebenen Servern nach Objekten, die einem bestimmten Muster entsprechen
unter Verwendung von Instanzen der --Server Möglichkeit. Es wird eine Ausgabe erzeugt, die die Übereinstimmung anzeigt
Objekte. Standardmäßig wird das erste Nichtoptionsargument als Muster verwendet, es sei denn
--Muster Option gegeben ist. Wenn die --Muster Wenn die Option angegeben ist, gilt dies für alle Nichtoptionsargumente
als Verbindungsspezifikationen behandelt.
Intern generiert das Dienstprogramm eine SQL-Anweisung zum Durchsuchen der erforderlichen Tabellen
die INFORMATION_SCHEMA Datenbank auf den dafür vorgesehenen Servern und führt diese der Reihe nach aus
Sammeln Sie das Ergebnis und drucken Sie es als Tabelle aus. Benutzen Sie die --sql Option, um das Dienstprogramm zu haben
Zeigen Sie die Anweisung an, anstatt sie auszuführen. Dies kann nützlich sein, wenn Sie das füttern möchten
Ausgabe der Anweisung an eine andere Anwendung wie z mysql Monitor.
Der MySQL-Server unterstützt beim Abgleich von Zeichenfolgen zwei Formen von Mustern: SQL Simple Patterns
(verwendet mit dem LIKE Operator) und reguläre POSIX-Ausdrücke (verwendet mit dem REGEXP
Operator).
Standardmäßig verwendet das Dienstprogramm die LIKE Operator, der mit dem Namen übereinstimmt (und optional mit dem
Körper) von Objekten. Um das zu nutzen REGEXP Verwenden Sie stattdessen den Operator --regexp .
Beachten Sie, dass seit dem REGEXP Der Operator führt die Suche nach Teilzeichenfolgen durch. Daher ist eine Verankerung erforderlich
Fügen Sie den Ausdruck an den Anfang der Zeichenfolge ein, wenn Sie mit dem Anfang der Zeichenfolge übereinstimmen möchten
String.
Um festzulegen, wie die Ausgabe angezeigt wird, verwenden Sie einen der folgenden Werte mit dem --Format
Option:
· Gitter (Default)
Ausgabe im Raster- oder Tabellenformat wie beim . anzeigen mysql Monitor.
· csv
Ausgabe im Format mit durch Kommas getrennten Werten anzeigen.
· Tab
Ausgabe im tabulatorgetrennten Format anzeigen.
· vertikal
Ausgabe im einspaltigen Format anzeigen, wie beim \G-Befehl für die mysql
Monitor.
Einfache SQL-Muster
Die vom SQL-Standard definierten einfachen Muster bestehen aus einer Zeichenfolge mit zwei Zeichen
Zeichen mit besonderer Bedeutung: % (Prozent) entspricht null oder mehr Zeichen und _
(Unterstrich) entspricht genau einem Zeichen.
Beispielsweise:
· 'mats%'
Entspricht jeder Zeichenfolge, die mit „mats“ beginnt.
· '%kindahl%'
Entspricht einer beliebigen Zeichenfolge, die das Wort „kindahl“ enthält.
· '%_'
Entspricht einer beliebigen Zeichenfolge, die aus einem oder mehreren Zeichen besteht.
Reguläre POSIX-Ausdrücke
Reguläre POSIX-Ausdrücke sind leistungsfähiger als die in SQL definierten einfachen Muster
Standard. Ein regulärer Ausdruck ist eine Zeichenfolge, die optional Zeichen enthält
mit besonderer Bedeutung:
· .
Passen Sie zu jedem Charakter.
· ^
Passen Sie den Anfang einer Zeichenfolge an.
· $
Passen Sie das Ende einer Zeichenfolge an.
· [axy]
Match a, x oder y.
· [af]
Entspricht einem beliebigen Zeichen im Bereich a zu f (das ist, a, b, c, d, e oder f).
· [^axy]
Passen Sie zu jedem Charakter ausgeschlossena, x oder y.
· a*
Entspricht einer Folge von null oder mehr a.
· a+
Ordnen Sie eine oder mehrere Sequenzen zu a.
· a?
Entspricht Null oder Eins a.
· ab|cd
Match ab or cd.
· a {5}
Passen Sie fünf Instanzen von an a.
· a {2,5}
Passen Sie zwei bis fünf Instanzen von an a.
· (abc)+
Passen Sie eine oder mehrere Wiederholungen an ABC.
Dies ist nur eine kurze Reihe von Beispielen für reguläre Ausdrücke. Die vollständige Syntax wird beschrieben
in England, MySQL manuell[1], ist aber oft zu finden in Regex(7).
OPTIONAL
mysqlmetagrep akzeptiert die folgenden Befehlszeilenoptionen:
· --Hilfe
Eine Hilfemeldung anzeigen und beenden.
· --body, -b
Durchsuchen Sie den Körper gespeicherter Programme (Prozeduren, Funktionen, Trigger und Ereignisse). Der
Standardmäßig wird nur der Name abgeglichen.
· --database=
Suchen Sie nur in Datenbanken, die diesem Muster entsprechen.
· --format= , -F
Geben Sie das Ausgabeanzeigeformat an. Zulässige Formatwerte sind Gitter, csv, Tab und
vertikal. Der Standardwert ist Gitter.
· --object-types= , --search-objects=
Durchsuchen Sie nur die in genannten Objekttypen Typen, das ist eine durch Kommas getrennte Liste von eins oder
mehr Werte Verfahren, Funktion, Event, auslösen, Tabelle und Datenbank.
Standardmäßig wird in Objekten aller Art gesucht.
· --pattern= , -e=
Das beim Abgleich zu verwendende Muster. Dies ist erforderlich, wenn das erste Nichtoptionsargument verwendet wird
sieht eher wie eine Verbindungsspezifikation als wie ein Muster aus.
Besitzt das --Muster Wenn eine Option angegeben ist, wird das erste Nichtoptionsargument als a behandelt
Verbindungsspezifizierer, nicht als Muster.
· --regexp, --basic-regexp, -G
Führen Sie Musterabgleiche mit dem REGEXP Operator. Die Standardeinstellung ist zu verwenden LIKE für
passend. Dies betrifft die --Datenbank und --Muster nach.
· --server=
Verbindungsinformationen für einen zu suchenden Server im Format:
<Benutzer>[:passwd>]@Gastgeber>[:port >>:Buchse>] oderLogin-Pfad>[:port >>:Buchse>]. Verwenden
diese Option mehrmals, um mehrere Server zu durchsuchen.
· --sql, --print-sql, -p
Drucken Sie, anstatt den SQL-Code auszuführen, der ausgeführt werden würde, um alle Übereinstimmungen zu finden
Objekte. Dies kann nützlich sein, um die Anweisung für eine spätere Ausführung zu speichern oder als zu verwenden
Eingabe für andere Programme.
· --Ausführung
Versionsinformationen anzeigen und beenden.
ANMERKUNG
Bei der --Format Option werden die zulässigen Werte nicht zwischen Groß- und Kleinschreibung unterschieden. Außerdem Werte
kann als ein beliebiges eindeutiges Präfix eines gültigen Wertes angegeben werden. Zum Beispiel, --format=g
gibt das Rasterformat an. Ein Fehler tritt auf, wenn ein Präfix mit mehr als einem gültigen Wert übereinstimmt.
Der Pfad zu den MySQL-Client-Tools sollte in der Umgebungsvariable PATH enthalten sein
um den Authentifizierungsmechanismus mit Anmeldepfaden zu verwenden. Dadurch kann das Dienstprogramm
Verwenden Sie die my_print_defaults-Tools, die erforderlich sind, um die Login-Pfadwerte aus dem
Anmeldekonfigurationsdatei (.mylogin.cnf).
Beispiele:
Finden Sie alle Objekte mit einem Namen, der dem Muster „t_“ entspricht (der Buchstabe t gefolgt von „any“)
einzelnes Zeichen):
$ mysqlmetagrep --pattern="t_" --server=mats@localhost
+----------+--------------+--------- -----+-----------+
| Verbindung | Objekttyp | Objektname | Datenbank |
+----------+--------------+--------- -----+-----------+
| mats:*@localhost:3306 | TABELLE | t1 | testen |
| mats:*@localhost:3306 | TABELLE | t2 | testen |
| mats:*@localhost:3306 | TABELLE | t3 | testen |
+----------+--------------+--------- -----+-----------+
Um alle Objekte zu finden, die „t2“ im Namen oder im Text enthalten (für Routinen, Trigger usw.)
Veranstaltungen):
$ mysqlmetagrep -b --pattern="%t2%" --server=mats@localhost:3306
+----------+--------------+--------- -----+-----------+
| Verbindung | Objekttyp | Objektname | Datenbank |
+----------+--------------+--------- -----+-----------+
| root:*@localhost:3306 | AUSLÖSER | tr_foo | testen |
| root:*@localhost:3306 | TABELLE | t2 | testen |
+----------+--------------+--------- -----+-----------+
In der vorherigen Ausgabe stimmt der Triggername nicht mit dem Muster überein, wird aber angezeigt
weil sein Körper es tut.
Dies ist das Gleiche wie im vorherigen Beispiel, jedoch unter Verwendung von REGEXP Operator. Beachten Sie, dass in der
Muster ist es nicht notwendig, Platzhalter vor oder nach t2 hinzuzufügen:
$ mysqlmetagrep -Gb --pattern="t2" --server=mats@localhost
+----------+--------------+--------- -----+-----------+
| Verbindung | Objekttyp | Objektname | Datenbank |
+----------+--------------+--------- -----+-----------+
| root:*@localhost:3306 | AUSLÖSER | tr_foo | testen |
| root:*@localhost:3306 | TABELLE | t2 | testen |
+----------+--------------+--------- -----+-----------+
URHEBERRECHT
ANMERKUNG
1. MySQL-Handbuch
http://dev.mysql.com/doc/mysql/en/regexp.html
Verwenden Sie mysqlmetagrep online über die Dienste von onworks.net