זוהי הפקודה mysqlmetagrep שניתן להריץ בספק האירוח החינמי של OnWorks באמצעות אחת מתחנות העבודה המקוונות המרובות שלנו בחינם כגון Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS
תָכְנִית:
שֵׁם
mysqlmetagrep - הגדרות אובייקט של מסד נתונים של חיפוש
תַקצִיר
mysqlmetagrep [אפשרויות] [דפוס | שרת] ...
תיאור
כלי זה מחפש אובייקטים התואמים לדפוס נתון בכל השרתים שצוינו
באמצעות מופעים של --שרת אוֹפְּצִיָה. זה מייצר פלט שמציג את ההתאמה
חפצים. כברירת מחדל, הארגומנט הראשון ללא אופציה נחשב לתבנית אלא אם כן
--תבנית ניתנת אפשרות. אם ה --תבנית אפשרות ניתנת, כל הארגומנטים ללא אפשרות
התייחסו כמפרטי חיבור.
באופן פנימי, כלי השירות מייצר משפט SQL לחיפוש בטבלאות הנחוצות
מה היא INFORMATION_SCHEMA מסד הנתונים בשרתים המיועדים ומבצע אותו בתורו לפני
איסוף התוצאה והדפסתה כטבלה. להשתמש ב --sql אפשרות לקבל את השירות
להציג את ההצהרה במקום לבצע אותה. זה יכול להיות שימושי אם אתה רוצה להאכיל את
פלט של ההצהרה ליישום אחר כגון MySQL לפקח.
שרת MySQL תומך בשתי צורות של תבניות בעת התאמת מחרוזות: SQL Simple Patterns
(בשימוש עם ה LIKE מפעיל) ו-POSIX ביטויים רגולריים (בשימוש עם ה- REGEXP
מַפעִיל).
כברירת מחדל, כלי השירות משתמש ב- LIKE אופרטור שיתאים לשם (ובאופציה, את
גוף) של חפצים. כדי להשתמש ב REGEXP במקום זאת, השתמש ב- --exp אוֹפְּצִיָה.
שימו לב שמאז ה REGEXP אופרטור עושה חיפוש מחרוזת משנה, יש צורך לעגן
הביטוי לתחילת המחרוזת אם ברצונך להתאים את תחילת ה-
מחרוזת.
כדי לציין כיצד להציג פלט, השתמש באחד מהערכים הבאים עם ה- --פוּרמָט
אפשרות:
· רשת (ברירת מחדל)
הצג פלט בפורמט רשת או טבלה כמו זה של MySQL לפקח.
· csv
הצג פלט בפורמט ערכים מופרדים בפסיקים.
· כרטיסייה
הצג פלט בפורמט מופרד בכרטיסיות.
· אנכי
הצג פלט בפורמט של עמודה אחת כמו זה של הפקודה \G עבור MySQL
לפקח.
תבניות פשוטות של SQL
התבניות הפשוטות המוגדרות על ידי תקן SQL מורכבות ממחרוזת תווים עם שניים
תווים בעלי משמעות מיוחדת: % (אחוז) תואם לאפס או יותר תווים ו-_
(קו תחתון) מתאים בדיוק לדמות אחת.
לדוגמה:
· 'מחצלות%'
התאם כל מחרוזת שמתחילה ב'מחצלות'.
· '%kindahl%'
התאם כל מחרוזת המכילה את המילה 'kindahl'.
· '%_'
התאימו לכל מחרוזת המורכבת מדמות אחת או יותר.
ביטויים רגולריים של POSIX
ביטויי POSIX רגולריים חזקים יותר מהדפוסים הפשוטים המוגדרים ב-SQL
תֶקֶן. ביטוי רגולרי הוא מחרוזת של תווים, אופציונלית המכילה תווים
עם משמעות מיוחדת:
· .
התאם כל דמות.
· ^
התאם את ההתחלה של מחרוזת.
· $
התאם את קצה המחרוזת.
· [אקסית]
להתאים a, x, או y.
· [af]
התאם כל תו בטווח a ל f (זה, a, b, c, d, e, או f).
· [^axy]
התאם כל דמות אלאa, x, או y.
· a*
התאם רצף של אפס או יותר a.
· a+
התאם רצף של אחד או יותר a.
· a?
התאם אפס או אחד a.
· ab|cd
להתאים ab or cd.
· a{5}
התאם חמישה מקרים של a.
· a{2,5}
התאם בין שניים לחמישה מקרים של a.
· (abc)+
התאם חזרה אחת או יותר של א ב ג.
זוהי רק אוסף קצר של דוגמאות לביטויים רגולריים. התחביר המלא מתואר
ב MySQL מדריך ל[1], אך לעתים קרובות ניתן למצוא אותו ב regex(7).
אפשרויות
mysqlmetagrep מקבל את אפשרויות שורת הפקודה הבאות:
· --עזרה
הצג הודעת עזרה וצא.
· --גוף, -ב
חפש בגוף התוכניות המאוחסנות (נהלים, פונקציות, טריגרים ואירועים). ה
ברירת המחדל היא להתאים רק לשם.
· --database=
חפש רק במסדי נתונים התואמים דפוס זה.
· --format= , -ו
ציין את פורמט תצוגת הפלט. ערכי הפורמט המותרים הם רשת, csv, כרטיסייה, ו
אנכי. ברירת המחדל היא רשת.
· ---object-types= , --search-objects=
חפש רק את סוגי האובייקטים המופיעים ב סוגים, שהיא רשימה מופרדת בפסיקים של אחד או
יותר מהערכים הליך, פונקציה, אירוע, להפעיל, שולחן, ו מסד נתונים.
ברירת המחדל היא חיפוש באובייקטים מכל הסוגים.
· --pattern= , -e=
הדפוס לשימוש בעת התאמה. זה נדרש כאשר הטיעון הראשון ללא אפשרות
נראה כמו מפרט חיבור ולא דפוס.
אם --תבנית ניתנת אפשרות, ארגומנט הלא-אופציה הראשון מטופל כאל א
מפרט חיבור, לא כתבנית.
· --regexp, --basic-regexp, -G
בצע התאמות דפוסים באמצעות REGEXP מַפעִיל. ברירת המחדל היא להשתמש LIKE ל
תוֹאֵם. זה משפיע על --מאגר מידע ו --תבנית אפשרויות.
· --שרת=
מידע חיבור לשרת לחיפוש בפורמט:
<המשתמש>[:פסח>]@המארח>[:נמל>][:שקע>] אונתיב כניסה>[:נמל>][:שקע>]. להשתמש
אפשרות זו מספר פעמים לחיפוש במספר שרתים.
· --sql, --print-sql, -p
הדפס במקום ביצוע קוד SQL שיבוצע כדי למצוא את כל התואמות
חפצים. זה יכול להיות שימושי כדי לשמור את ההצהרה לביצוע מאוחר יותר או להשתמש בה בתור
קלט עבור תוכניות אחרות.
· --גרסה
הצג מידע גרסה וצא.
אורים
כדי להתאים --פוּרמָט אפשרות, הערכים המותרים אינם תלויי רישיות. בנוסף, ערכים
ניתן לציין כל קידומת חד משמעית של ערך חוקי. לדוגמה, --format=g
מציין את פורמט הרשת. שגיאה מתרחשת אם קידומת תואמת ליותר מערך חוקי אחד.
הנתיב לכלי הלקוח MySQL צריך להיכלל במשתנה הסביבה PATH ב
כדי להשתמש במנגנון האימות עם נתיבי כניסה. זה יאפשר לכלי השירות
השתמש בכלים my_print_defaults הנדרשים כדי לקרוא את ערכי ה-Login-path מתוך
קובץ תצורת הכניסה (.mylogin.cnf).
דוגמאות
מצא את כל האובייקטים עם שם התואם לתבנית 't_' (האות t ואחריה כל אחד
תו בודד):
$ mysqlmetagrep --pattern="t_" --server=mats@localhost
+------------------------+--------------+--------- -----+------------------+
| חיבור | סוג אובייקט | שם אובייקט | מסד נתונים |
+------------------------+--------------+--------- -----+------------------+
| mats:*@localhost:3306 | טבלה | t1 | מבחן |
| mats:*@localhost:3306 | טבלה | t2 | מבחן |
| mats:*@localhost:3306 | טבלה | t3 | מבחן |
+------------------------+--------------+--------- -----+------------------+
כדי למצוא את כל האובייקטים המכילים 't2' בשם או בגוף (עבור שגרות, טריגרים ו
אירועים):
$ mysqlmetagrep -b --pattern="%t2%" --server=mats@localhost:3306
+------------------------+--------------+--------- -----+------------------+
| חיבור | סוג אובייקט | שם אובייקט | מסד נתונים |
+------------------------+--------------+--------- -----+------------------+
| root:*@localhost:3306 | טריגר | tr_foo | מבחן |
| root:*@localhost:3306 | טבלה | t2 | מבחן |
+------------------------+--------------+--------- -----+------------------+
בפלט הקודם, שם הטריגר אינו תואם לתבנית, אך מוצג
כי הגוף שלו כן.
זה זהה לדוגמא הקודמת, אבל באמצעות ה REGEXP מַפעִיל. שימו לב שב-
דפוס אין צורך להוסיף תווים כלליים לפני או אחרי t2:
$ mysqlmetagrep -Gb --pattern="t2" --server=mats@localhost
+------------------------+--------------+--------- -----+------------------+
| חיבור | סוג אובייקט | שם אובייקט | מסד נתונים |
+------------------------+--------------+--------- -----+------------------+
| root:*@localhost:3306 | טריגר | tr_foo | מבחן |
| root:*@localhost:3306 | טבלה | t2 | מבחן |
+------------------------+--------------+--------- -----+------------------+
זכויות יוצרים
אורים
1. מדריך MySQL
http://dev.mysql.com/doc/mysql/en/regexp.html
השתמש ב-mysqlmetagrep באינטרנט באמצעות שירותי onworks.net