מאמר זה מיועד למתכנתים המשתמשים ב-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 לא דורסת את הקובץ אלא מוסיפה לו.