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

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

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

לא פרצו לנו, רק דלף לנו – לקחים טכניים מפרשת אלקטור

פסק הדין בפרשת תביעת של הדיבה אלקטור הוא קריאת השכמה טכנולוגית ומשפטית: מההגדרה המשפטית ל"פריצה", דרך החשיבות הקריטית של פרוטוקול ביעור נתונים אמיתי, ועד למה שבאמת קורה כשמערכות אבטחה מסתמכות על לוגים חסרים.

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

Retry decorator בפייתון

לא מזמן יצא לי לכתוב קוד בפייתון. הקוד משתמש ב-API של openAI ולפעמים ה-API הזה קצת מפשל. הוא מחזיר לי שגיאה ואומר שהגזמתי עם הקריאות,

בינה מלאכותית

עבודה עם MCP Streamable HTTP

איך מתקשרים עם שרת MCP שנמצא ברשת ואיך זה נראה באמת מאחורי הקלעים?

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