MySQL היא מערכת קוד פתוח, חזקה ונפוצה בשימוש נרחב לניהול מסדי נתונים יחסיים (RDBMS) שמארגן את הנתונים לטבלאות נתונים בודדות או מרובות שבהן סוגי נתונים עשויים להיות קשורים לכל אחת מהן אַחֵר. שפת שאילתות מובנית (SQL) עובדת עם RDBMSes, וכאשר מישהו רוצה לאחסן או לנהל נפח עצום של נתונים, הוא ירכוש את השירות של מסד נתונים יחסי ו-SQL.
מאמר זה מראה כיצד להגדיר את MySQL בשרת Ubuntu 18.04 שלך. זה גם מראה לך כיצד להפעיל אימות, ולאחר מכן ניהול שירות. בסופו של דבר, תלמד גם כיצד לבדוק את השירות כדי לאמת את התצורה המוצלחת.
שלב 1: התקנת לקוח MySQL
התקן את mysql-client כדי להתחבר מרחוק לשרת:
sudo apt התקן את mysql-client -y
בדוק את גרסת הלקוח כדי לוודא אם ההתקנה הצליחה:
mysql -V
תְפוּקָה:
mysql Ver 8.0.28-0ubuntu0.20.04.3 עבור לינוקס ב-x86_64 ((Ubuntu))
כעת תוכל להשתמש בפקודה הבאה כדי ליצור חיבור מרחוק עם שרת MySQL:
mysql -u -עמ' -h HOSTNAME_OR_IP
שלב 2: התקנת שרת MySQL
לפני התקנת MySQL, ודא ששרת אובונטו מותקן ומוגדר כהלכה. שרת אובונטו 18.04, כברירת מחדל, מכיל את הגרסה העדכנית ביותר של MySQL 5.7 במאגרים. השתמש בפקודה apt כדי לעדכן את חבילות המערכת מהמאגר באופן הבא:
sudo apt update
כעת השתמש בפקודה הבאה כדי להתקין את חבילת השרת MySQL:
sudo apt התקן את mysql-server -y
שלב 3: תצורת MySQL
בעידן זה של איומי אבטחת סייבר מתמשכים, זה סטנדרט לשנות אפשרויות ברירת מחדל לאחר התקנת שרת מוצלחת. סעיף זה מנחה אותך על תצורת שרת MySQL כדי לבטל אפשרויות ברירת מחדל לא מאובטחות כגון כניסות שורש מרחוק, חשבונות משתמש ברירת מחדל וכו'. MySQL מקל על משימה זו על ידי ביצוע אוטומטי של כל השינויים בעזרת הפעלת סקריפט אבטחה פשוט.
sudo mysql_secure_installation
הסקריפט מציג אפשרויות מרובות המבקשות תשובות כן או לא כדי לשנות את אבטחת ברירת המחדל של MySQL. לדוגמה, ההנחיה הראשונה מבקשת אם אתה רוצה להגדיר תוסף לאימות סיסמאות, תענה כן והמשך.
ההנחיה הבאה מבקשת להגדיר את סיסמת חשבון המשתמש השורש של MySQL. אתה יכול לשים לב שהפעלת הפלאגין Validate Password מאפשרת להגדיר את חוזק הסיסמה מול שלוש רמות של מדיניות אבטחת סיסמאות ואורך.
הזן את המספר שברצונך לבחור כדי להגדיר את עוצמת הסיסמה. לאחר מכן המערכת תבקש להגדיר את הסיסמה החדשה ולהקליד אותה מחדש לאישור, באופן הבא:
אתה יכול לשים לב שלאחר הגדרת הסיסמה, הוא מציג את העוצמה ושואל אם אתה רוצה להמשיך הלאה.
כעת הוא יבקש שאלות הבאות:
- כדי להסיר משתמש בדיקה אנונימי
- השבת כניסה מרחוק ממשתמש השורש
- הסר את מסדי הנתונים של הבדיקה
- טען מחדש את טבלת ההרשאות כדי לשמור את כל השינויים
סוּג י כדי להמשיך עם הגדרות ברירת המחדל לקביעת כללי אבטחה.
גרסאות ישנות יותר של MySQL (לפני 5.7.6) מחייבות אותך לאתחל ידנית את ספריית מסד הנתונים. בעוד עבור גרסאות לאחר מכן, הפעל את הפקודה הבאה:
mysqld -אתחול
שלב 4: התאמות אימות משתמש MySQL
ללא קשר להקמת סיסמה עבור חשבון משתמש MySQL, הגדרת ברירת המחדל של האימות משביתה את השימוש בסיסמאות במהלך יצירת החיבור. במקום זאת, הוא מאמת את המשתמש באופן אוטומטי בעזרת ה auth_socket חיבור. התוסף הוא תכונה נהדרת לשימושיות, עם זאת, זה לא מעשי אם אתה רוצה לגשת למסד הנתונים שלך מלקוח מרוחק.
מכיוון שגישה למסד הנתונים ללא סיסמה מסבכת את תהליך העבודה כאשר תוכנית חיצונית ניגשת אליה, סעיף זה מסכם שתי דרכים לאימות המשתמש בעת יצירת החיבור:
1. אימות משתמש שורש עם סיסמה
כדי להבטיח אימות משתמש באמצעות סיסמה, אתה יכול לשנות את התוסף מ"auth_socket" ל "mysql_native_password." למטרה זו, פתח את מסך ההנחיה של MySQL באמצעות ה sudo mysql פקודה ואמת את הפלאגין שנמצא בשימוש עבור אימות משתמש, באופן הבא:
SELECT user, authentication_string, plugin, host FROM mysql.user;
צילום המסך שלמעלה מציג שלקוח השורש מאמת את עצמו באמצעות התוסף "auth_socket". כדי לאתחל את אימות לקוח השורש עם סיסמה, השתמש במשפט ALTER USER כדי להגדיר את הפלאגין "mysql_native_password".
ALTER USER 'root'@'localhost' מזוהה עם mysql_native_password על ידי 'סיסמה';
שמור את השינויים לעיל באופן הבא:
FLUSH PRIVILEGES;
הצהרת MySQL "FLUSH PRIVILEGES" שומרת שינויים בטבלאות מסד הנתונים שנעשו על ידי סעיפים ALTER, INSERT, UPDATE ו-DELETE.
כעת כדי לאמת את אסטרטגיות האימות בשימוש על ידי כל משתמש ולהבטיח שהתוסף "auth_socket" אינו בשימוש על ידי לקוח השורש, הפעל מחדש את הפקודה:
SELECT user, authentication_string, plugin, host FROM mysql.user;
כעת משתמש השורש יכול להתחבר לשרת על ידי אימות באמצעות הפקודה הבאה:
sudo mysql -u root -p
2. צור משתמש מסור
דרך נוספת לאפשר אימות מבלי להשתמש ב-mysql_native_password היא ליצור משתמש ייעודי באופן הבא:
sudo mysql
צור חשבון חדש והענק את כל ההרשאות להקצאת שליטה ברמת הניהול למשתמש החדש. לאחר מכן, צא מהנחיית MySQL. הפעל את בעקבות שאילתות SQL אחד אחד כדי להשיג זאת:
צור משתמש 'ubuntu'@'localhost' מזוהה על ידי 'סיסמה';
הענק את כל ההרשאות ב-*.* ל-'ubuntu'@'localhost' עם אפשרות הענק;
יְצִיאָה
נהל ובדוק את שירות MySQL עם systemctl
הגדר את השירות לפעול בהפעלת שרת אובונטו על ידי שימוש ב- הפעלת systemctl הפקודה כדלקמן:
sudo systemctl אפשר את mysql
חוץ מזה, אתה יכול לבדוק שהשרת פועל על ידי הקלדה:
sudo systemctl status mysql
אוֹ
sudo systemctl status mysql.service
השירות פועל אוטומטית לאחר התקנת MySQL, אולם אם לא, תוכל להפעיל את השירות באמצעות הפקודה הבאה:
sudo systemctl הפעל את mysql
תחילת העבודה עם MySQL Server באובונטו
MySQL היא מערכת ניהול מסד נתונים בקוד פתוח, ידידותית למשתמש, ניתנת להרחבה וחזקה. חוץ מזה, זה חלק בלתי נפרד ממודל מחסנית LAMP/LEMP או טכנולוגיות יישומי אינטרנט. מערכת ניהול מסד נתונים יחסי (RDBMS) מציעה התקנה פשוטה ותצורה קלה בגרסאות האחרונות שלה.
מאמר זה מנחה אותך בבניית מערך MySQL בסיסי שיעזור לך התחל ללמוד כיצד MySQL עובד. זה גם מכסה כמה אמצעי אבטחה חשובים ראשוניים בתצורתו כדי למנוע את הפרצות בהגדרת ברירת המחדל. אתה יכול ללמוד עוד על אבטחת MySQL על ידי ביצוע כמה עצות אבטחה מתקדמות.
9 עצות אבטחה מתקדמות של MySQL
קרא הבא
נושאים קשורים
- לינוקס
- מאגר מידע
- SQL
- אפליקציות לינוקס
- להתקין תוכנה
- אובונטו
על הסופר
![](/f/55dc15ba6b6efd1dbbf43d3dd736990c.jpeg)
Rumaisa היא סופרת עצמאית ב-MUO. היא חבשה כובעים רבים, ממתמטיקאית ועד חובבת אבטחת מידע, וכעת היא עובדת כאנליסטית SOC. תחומי העניין שלה כוללים קריאה וכתיבה על טכנולוגיות חדשות, הפצות לינוקס וכל דבר סביב אבטחת מידע.
הירשם לניוזלטר שלנו
הצטרף לניוזלטר שלנו לקבלת טיפים טכניים, ביקורות, ספרים אלקטרוניים בחינם ומבצעים בלעדיים!
לחץ כאן כדי להירשם