MySQL על לינוקס

התקנה, הגדרת משתמשים וגיבוי של MySQL.

במאמר הקודם למדנו על דיבאגינג של MySQL. במאמר הזה אנו נדון ב-MySQL על לינוקס – או יותר נכון על לינוקס דביאן. איך להתקין אותו, איך ליצור יוזרים ואיך לגבות ולהחזיר מגיבוי באמצעות mysqldump.

במאמר הראשון בסדרת המדריכים על MySQL, הסברתי כיצד להתקין WampServer על חלונות כדי להריץ MySQL (וגם PHP ו-Apache). אך רוב שרתי ה-MySQL יושבים בסביבה של לינוקס. אי אפשר להיות מתכנת PHP ו-MySQL אמיתי בלי להכיר, ולו הכרות שטחית בלבד, את סביבת לינוקס. לינוקס היא סביבת עבודה מבוססת קוד פתוח נוחה מאד וטבעית מאד לעבודה על MySQL.

בסביבת הפיתוח שהקמתי לעצמי בבית ובעבודה, אני עובד מול שרת לינוקס. וזה לא משנה אם אני עובד על מחשב מבוסס חלונות ומתחבר לשרת באמצעות PuTTY או משתמש במחשב מבוסס לינוקס (אבל מהפצה אחרת) כדי להתחבר לשרת. להתקנת שרת פיתוח/אינטגרציה מבוסס על לינוקס במקום עבודה על WampServer יש יתרונות גדולים:
1. הכרות מעמיקה יותר עם לינוקס (ובסופו של דבר האפליקציה תרוץ על שרת לינוקס).
2. קל מאד לדמות את שרת הפרודקשן (השרת האמיתי שעליו תרוץ האפליקציה) ולהימנע מהפתעות בתהליך הדיפלוימנט (התהליך שבו האפליקציה עוברת מהמחשב של המפתחים לשרת).
3. כלי ניהול משתמשים חזקים.
4. יכולת לעבודה במקביל של כמה מפתחים על אותו מסד נתונים וכן אפשרות לפתוח את השרת למשתמש חיצוני למטרת בדיקות עוד לפני שלב הפרודקשן.

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

התקנת MySQL

התקנת MySQL על לינוקס היא פשוטה ביותר. ניגשים לקונסול וכותבים:


sudo apt-get install mysql-server

מקלידים את סיסמת ה-admin ו… זהו. ממתינים שההתקנה תסתיים ויש לנו MySQL על הלינוקס שלנו.

כניסה ראשונה והגדרת משתמשים

עכשיו צריך להכנס בפעם הראשונה ל-MySQL. את זה עושים עם root. חשוב לזכור שהכניסה עם ה-root היא בפעם הראשונה בלבד וחשוב ליצור משתמשים ולא להשתמש ב-root בכל פעם.


mysql -uroot -pmyPassword

אם הכל תקין, אנו נכנסים אל הקונסול של MySQL. הידד! עכשיו אנו חייבים להגדיר משתמש ראשון.


CREATE USER 'user1'@'%' IDENTIFIED BY 'pass1';

אחרי שהגדרנו אותו, ניתן לו הרשאות להכל:


GRANT ALL ON *.* TO 'user1'@'%';

אחרי שסיימנו בהצלחה את התהליך. אנחנו אומרים יפה שלום ל-root ובעזרת פקודת exit יוצאים אל קונסולת הלינוקס המוכרת ועושים לוגין נוסף עם המשתמש החדש שיצרנו:


mysql -uuser1 -pmyPassword

אם נכנסו ל-MySQL, הכל מצויין ואפשר להתחיל לעבוד. אפשר להכניס את שם המשתמש והסיסמה לקובץ הגדרות מיוחד (לכל משתמש) וכך להמנע מהכורח להקליד את שם המשתמש והסיסמה בכל פעם שרוצים להכנס לקונסולה או לעשות mysqldump. נכנסים לתיקית /home/user שלכם ויוצרים באמצעות עורך הטקסט החביב עליכם (אני מעדיף את nano) את הקובץ הבא:


[client]
user = userName
password = myPassword

אחרי ששומרים את הקובץ תחת my.cnf, אפשר להקליד פשוט mysql ולהכנס בנחת ללא צורך בהקלדת סיסמה ושם משתמש. עדיף ליצור לכל משתמש את הסיסמה שלו והמשתמש שלו ולהכניס אותם ל-home/user שלו.

גיבוי באמצעות MySQL

הגיבוי וההעלאה מגיבוי הם קלים ביותר בלינוקס, כל מה שעלינו לעשות זה לגשת לתיקיה שבה אנו נציב את הגיבוי שלנו ולהשתמש ב-mysqldump באופן הבא:


mysqldump MyDBName > MyBackUpDB.sql

אחרי פרק זמן מסוים (תלוי בגודל מסד הנתונים) אנו נראה שנוצר לנו קובץ sql. על מנת לשחזר מהגיבוי, נשתמש בפקודת mysql:


mysql shalev < shalev.sql

וזה הכל!

MySQL Query Browser

MySQL מספקים גם תוכנה עם ממשק גרפי לניהול מסד הנתונים. התוכנה היא חינמית (גם בגרסת החלונות שלה) ומומלץ לנסות אותה. ההתקנה בלינוקס היא פשוטה ביותר:


apt-get install mysql-query-browser

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


/etc/mysql/my.cnf:

ומחיקת (או לשים # לפני) השורה:


bind_address=127.0.0.1

ועכשיו אפשרי לגשת אל ה-MySQL באמצעות Query Browser המותקן על מחשב אחר.

זהו המאמר האחרון והמסכם בסדרת המדריכים של MySQL. באתר ישנם עוד מאמרים הנוגעים ל-MySQL אך אינם קשורים למדריך וכדאי לעבור עליהם. כמובן שללימוד מקיף יותר, אני ממליץ על הספר שכתבתי. שזמין כאן כחלק מהפרויקט "ללמוד ג'אווהסקריפט בעברית"

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

DALL·E 2024-09-06 12.34.24 - A visually engaging post about Python and cryptographic problems. The image should feature a dark-themed background with a glowing, futuristic Python
פתרונות ומאמרים על פיתוח אינטרנט

בעיות במימוש של פונקציות קריפטוגרפיות בפייתון

היום (16 לספטמבר) ממש, אני מעביר הרצאה ב-PyconIL 2024 על בעיות קריפטוגרפיות באפליקציות פייתון. לצערי אי אפשר להכניס את כל הבעיות הקריפטוגרפיות להרצאה אחת או

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