תחי ישראל - אין לנו ארץ אחרת

תחי ישראל -אין לנו ארץ אחרת

ניהול חשבונות משתמשים של mySQL

מחבר:
בתאריך:

בפעם הראשונה שבה אתה מתקין את mySQL החשבון היחיד שבו אתה יכול להשתמש הוא root. חשבון בעל יכולות על שיכול לעשות כל דבר למסד הנתונים. מסיבות של אבטחה וגם לצורך שליטה ובקרה כדאי לך להקים חשבונות נוספים עם יכולות מוגבלות יותר. במדריך זה תקבל הסבר על יצירת משתמש באמצעות ממשק phpMyAdmin וכיצד לתת לו את ההרשאות שאתה רוצה.

 

הוספת מסד נתונים

לפני שניצור את המשתמש, ניצור את מסד הנתונים שישמש אותו כפי שהסברתי במדריך על הוספת מסד נתונים.

ההסבר בקיצור:

  1. הכנס לממשק phpMyAdmin.
  2. לחץ על לשונית Databases בראש הדף.
  3. הזן את שם מסד הנתונים.
  4. בחר את הקידוד utf8mb4_general_ci התומך בעברית, אנגלית ואמוג'י.
  5. לחץ על Create.

הוספת מסד נתונים לממשק mySQL

 

כיצד להוסיף משתמש mySQL?

הכנס לממשק הניהול phpMyAdmin, ולחץ על הקישור Server בראש הדף:

לחיצה על הקישור server

לחץ על לשונית User accounts כדי לראות את רשימת כל המשתמשים:

רשימת כל המשתמשים המנוהלים על ידי mySQL

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

INSERT
SELECT
UPDATE
DELETE

או פעולות מתקדמות יותר דוגמת:

CREATE PROCEDURES
CREATE FUNCTIONS
GRANT PRIVILEGES

נוסיף משתמש חדש ונתיר לו גישה למסד נתונים symset בלבד.

כדי להוסיף משתמש חדש נקליק על Add user account בתחתית הדף:

לחץ על הקישור להוספת חשבון משתמש

כותרת הדף שיפתח היא Add user account. זה המקום להוסיף את פרטי המשתמש.

הגדרת חשבון משתמש : פרטי זיהוי בסיסיים mySQL

נמלא את החלק של הדף שכותרתו Login Information.

פרטי המשתמש אותם נזין:

User name: symset
Host name: Local
Password: 12345

האפשרויות לגבי Host name הם:

  • Local מחייבת את השרת ומסד הנתונים להימצא על אותו השרת (מחשב). אפשרות זו היא המקובלת יותר.
  • Any host מאפשרת להתחבר למסד הנתונים גם משרתים אחרים עם שם משתמש וסיסמה.

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

המשך הגדרת פרטי המשתמש בממשק mySQL

בהמשך הדף באזור שהכותרת שלו Database for user account יש אפשרות ליצור מסד נתונים ששמו כשם המשתמש. לא נשתמש באפשרות הזו.

עוד באותו דף באיזור ה-Global privileges אפשר לראות את הפעולות שהמשתמש יכול לבצע על כל מסדי הנתונים. לא נבחר אף אחת מהאפשרויות כי אנחנו רוצים להרשות למשתמש לעבוד רק על מסד הנתונים symset.

נלחץ על כפתור Go בתחתית הדף כדי לעבור לדף עריכת ההרשאות עבור המשתמש:

הגדרת הפריביליגיות של המשתמש

הדף נפתח על הלשונית Global שמאפשר להוסיף הרשאות גלובליות, לכל מסדי הנתונים, אבל אנחנו רוצים לתת למשתמש הרשאות למסד נתונים מסוים בלבד אז בראש הדף נלחץ על הלשונית Database.

בדף ה-Database נבחר את מסד הנתונים ששמו symset, ונלחץ על Go.

קישור המשתמש לחשבון במסד נתונים mySQL

לחיצה על Go תעביר אותנו לדף שבו נבחר אילו פעולות לאפשר למשתמש על מסד הנתונים:

הגדרת הפעולות שמותר למשתמש לבצע

ההרשאות מתחלקות ל-3 רמות:

  • Data - הרשאות על מידע בטבלאות כולל בחירה, הכנסה, עדכון ומחיקה. אילו פעולות שכמעט תמיד תרצה לתת למשתמשים שלך.
  • Structure - אילו הרשאות הכוללות יצירה, שינוי ומחיקת טבלה. יצירת Views, Triggers ורוטינות. עם הרשאות אילו צריך להיות יותר זהיר.
  • Administration - הם ההרשאות המנהליות והם כוללות את האפשרות לתת הרשאות למשתמש אחר על מסד הנתונים. אילו ההרשאות המסוכנות ביותר שעדיף להיות זהיר במיוחד כשנותנים אותם.

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

קביעת הרשאות המשתמש בממשק phpmyadmin

כדי לבחון את החשבון נצא מחשבון ה-root ונכנס לחשבון המשתמש שיצרנו.

נצא מהחשבון על ידי לחיצה על logout בראש התפריט בעמודה השמאלית:

logout phpmyadmin mysql

וכדי להיכנס לחשבון המשתמש החדש נזין את שם המשתמש והסיסמה של החשבון החדש:

Username: symset
Password: 12345

מיד כשנכנס לחשבון נוכל לראות בפאנל השמאלי שהוא מנהל רק את מסד הנתונים symset. בנוסף, הלשונית User accounts, שדרכה יוצרים משתמשים ונותנים להם הרשאות, לא קיימת:

מראה חשבון משתמש חדש ב-mysql עם ממשק phpMyAdmin

 

כיצד למחוק משתמש mySQL?

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

בחשבון שיפתח נלחץ על לשונית SQL, ובתוכה נריץ את הפקודה:

DROP USER 'symset'@'localhost';

וזהו מחקנו את החשבון.

לכל מדריכי ה- mySQL

 

אהבתם? לא אהבתם? דרגו!

0 הצבעות, ממוצע 0 מתוך 5 כוכבים

 

 

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

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

שימו לב! הסקריפטים במדריכים מיועדים למטרות לימוד בלבד. כשאתם עובדים על הפרויקטים שלכם אתם צריכים להשתמש בספריות וסביבות פיתוח מוכחות, מהירות ובטוחות.

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

השימוש שלך באתר מהווה ראייה להסכמתך עם הכללים והתקנות שנוסחו בהסכם תנאי השימוש.

הוסף תגובה חדשה

 

 

ענה על השאלה הפשוטה הבאה כתנאי להוספת תגובה:

איך אומרים בעברית אינטרנט?