הדפסת פלט 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 לא דורסת את הקובץ אלא מוסיפה לו.

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

פתרונות ומאמרים על פיתוח אינטרנט

העולם המדהים של Chrome debugging

איך תוכנות שונות מפעילות את כרום כרצונן? איך דיבאגר בפרונט עובד? צלילה לעומק לתוך העולם המופלא של CDP

ממנטו עם גמל אין לי מושג למה אני עושה דברים
יסודות בתכנות

מה זה stateful ו-stateless

מה זה סטייט? למה אנחנו צריכים לדעת מה זה ואיך רואים את זה ממש בעיניים.

חדשות אינטרנט

אז מה הקטע עם Moltbook?

הרשת החברתית של ״הבוטים״ מכה גלים ברשת. בואו נחטט בקבצי הקוד שלה כדי להבין מה קורה פה ומה זה ההייפ הזה

יסודות בתכנות

מבוא לאבטחת מידע: גוגל דורקינג

מאמר מבוא המספר בקצרה ובלשון קלה על גוגל דורקינג – טכניקה לביצוע האקינג גם ללא ידע טכני כלל.

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