הדפסת פלט MySQL לקובץ

שימוש בפונקצית tee להדפסת פלט הקונסולה לקובץ

מאמר זה מיועד למתכנתים המשתמשים ב-MySQL על שרת לינוקס.

לעיתים יש צורך בהדפסת פלט של MySQL לקובץ כלשהו. כמו למשל הדפסה של SHOW PROCESS או אפילו שאילתה זו או אחרת. יש לא מעט סיבות שגורמות לנו להדפיס את הפלט לקובץ – הדגמה של שאילתא מסוימת שנותנת פלט בעייתי. הדפסה של פרוססים שונים או של שאילתות בעייתיות במקרה שהלוג לא עובד. בעצם כל פלט שהגודל שלו גדול מדי ל-Copy&Paste.

על מנת לעשות את זה, אנו נשתמש בפקודת tee בשורת ה-MySQL.

ראשית אנו נגדיר קובץ במערכת שלתוכו הפלט יודפס. את זה אנו עושים באמצעות פקודת touch שיוצרת קובץ ריק:


touch mysql-output.log

אחרי כן, אנו נכנס ל-MySQL שלנו. אם הגדרתם את ה-my.cnf שלכם כמו שצריך, אפשר לעשות את זה באמצעות הקלדת mysql. במידה ולא, תצטרכו להקליד:


mysql -uUSERNAME -pPASSWORD

עכשיו נשתמש בפקודת tee על מנת להגדיר לאן אנו נבצע logging. מאד חשוב להקליד את הנתיב במדויק. במקרה הזה שמרתי את הקובץ בספרית הבית שלי (ran)


tee /home/ran/mysql-output.log

במידה והכל תקין, תופיע השורה הבאה:


Logging to file '/home/ran/mysql-output.log'

על מנת לבדוק שהלוגינג תקין, אנו נקליד שוב את הפקודה tee, אם יש לוגינג, אז נראה את השורה הבאה:


Currently logging to file '/home/ran/mysql-output.log'

אם נקליד פקודות ב-MySQL, נוכל לראות לאחר שנצא את כל מה שהקלדנו מופיע בקובץ.

אם נרצה לחזור ל-MySQL ולהמשיך את ההקלדה, אין בעיה, פקודת tee לא דורסת את הקובץ אלא מוסיפה לו.

פוסטים נוספים שכדאי לקרוא

רספברי פיי

התקנת OpenCanary על רספברי פיי

מה זה OpenCanary ואיך אפשר להתקין אותה על רספברי פיי ולשדרג את אבטחת הרשת הביתית או המשרדית.

גלילה לראש העמוד