איך להתקין את MariaDB על Ubuntu 22.04

הקדמה

MariaDB הוא מערכת ניהול מסדי נתונים רצופיים מקורית שנפתחת, השמשה באופן נפוץ כאלטרנטיבה ל־MySQL כחלק מהמערכת המבוססת על LAMP (Linux, Apache, MySQL, PHP/Python/Perl) הפופולרית. המטרה היא להיות תחליף ישיר ל־MySQL.

גרסה הקצרה של מדריך ההתקנה מורכבת משלושה שלבים אלו:

  • עדכן את אינדקס החבילות באמצעות apt
  • התקן את החבילה mariadb-server באמצעות apt. החבילה מביאה גם כלים קשורים לאינטראקציה עם MariaDB
  • הפעל את סקריפט האבטחה mysql_secure_installation המובנה כדי להגביל גישה לשרת
  1. sudo apt update
  2. sudo apt install mariadb-server
  3. sudo mysql_secure_installation

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

דרישות מוקדמות

שלב 1 — התקנת MariaDB

עם כתיבת המאמר הזה, מאגרי הנתונים המוכלים ב־APT של Ubuntu 22.04 כוללים את MariaDB גרסה 10.5.12.

כדי להתקין אותה, עדכן את אינדקס החבילות של השרת שלך באמצעות apt:

  1. sudo apt update

לאחר מכן התקן את החבילה:

  1. sudo apt install mariadb-server

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

שלב 2 — הגדרת MariaDB

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

הרץ את סקריפט האבטחה:

  1. sudo mysql_secure_installation

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

Output
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MariaDB to secure it, you'll need the current password for the root user. If you've just installed MariaDB, and you haven't set the root password yet, the password will be blank, so you should just press enter here. Enter current password for root (enter for none):

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

Output
. . . Setting the root password or using the unix_socket ensures that nobody can log into the MariaDB root user without the proper authorisation. You already have your root account protected, so you can safely answer 'n'. Switch to unix_socket authentication [Y/n] n

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

עשיית כך עשויה להוביל לשבירת מערכת המסד נתונים בקריאת עדכון חבילה על ידי הסרת גישה לחשבון המנהל. הקלד n ואז לחץ על ENTER.

Output
. . . OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorisation. Set root password? [Y/n] n

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

משם, תוכל ללחוץ על Y ואז ENTER כדי לקבל את ברירות המחדל לכל השאלות הבאות. זה יסיר כמה משתמשים אנונימיים ואת מסד הנתונים לבדיקה, יבטל כניסות root מרחוק, ויטען את הכללים החדשים אז כך ש-MariaDB תיישם מיד את השינויים שביצעת.

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

שלב 3 — (אופציונלי) יצירת משתמש מנהל שמשתמש באימות סיסמה

במערכות Ubuntu שרצות MariaDB 10.5, המשתמש הראשי של MariaDB מוגדר לאמת באמצעות תוסף unix_socket כברירת מחדל במקום באמצעות סיסמה. זה מאפשר אבטחה ושימושיות גבוהה יותר ברבים מהמקרים, אך יכול גם להקשות על דברים כאשר יש צורך לאפשר לתוכנה חיצונית (לדוגמה, phpMyAdmin) זכויות מנהל.

מכיוון שהשרת משתמש בחשבון root למשימות כמו סיבובי יומן והתחלה ועצירת השרת, כדאי שלא לשנות את פרטי האימות של חשבון root. שינוי פרטי כניסה בקובץ התצורה /etc/mysql/debian.cnf עשוי לעבוד בתחילה, אך עדכוני חבילה עשויים להתעלם מהשינויים האלו. במקום לשנות את חשבון root, מתחזקי החבילהה ממליצים ליצור חשבון מנהל נפרד לגישה המבוססת על סיסמה.

לכן, ניצור חשבון חדש בשם admin עם היכולות הזהות לחשבון root, אך מוגדר עבור אימות סיסמה. פתח את מסך ה-prompt של MariaDB מהטרמינל שלך:

  1. sudo mariadb

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

  1. GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

נקה את ההרשאות כדי לוודא שהן נשמרות וזמינות במהלך ההפעלה הנוכחית:

  1. FLUSH PRIVILEGES;

לאחר מכן, צא מהשאל של MariaDB:

  1. exit

ולבסוף, בואו נבדוק את ההתקנה של MariaDB.

שלב 4 — בדיקת MariaDB

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

  1. sudo systemctl status mariadb

תקבל פלט דומה לזה:

Output
● mariadb.service - MariaDB 10.5.12 database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2022-03-11 22:01:33 UTC; 14min ago Docs: man:mariadbd(8) https://mariadb.com/kb/en/library/systemd/ . . .

אם MariaDB אינה רצה, תוכל להתחיל אותה באמצעות הפקודה sudo systemctl start mariadb.

לבדיקה נוספת, נסה להתחבר למסד הנתונים באמצעות כלי ה-mysqladmin, שהוא לקוח שמאפשר לך להריץ פקודות מנהליות. לדוגמה, הפקודה הזו אומרת להתחבר ל-MariaDB כמשתמש root באמצעות סוקט Unix ולהחזיר את הגרסה:

  1. sudo mysqladmin version

תקבל פלט דומה לזה:

Output
mysqladmin Ver 9.1 Distrib 10.5.12-MariaDB, for debian-linux-gnu on x86_64 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Server version 10.5.12-MariaDB-1build1 Protocol version 10 Connection Localhost via UNIX socket UNIX socket /run/mysqld/mysqld.sock Uptime: 15 min 53 sec Threads: 1 Questions: 482 Slow queries: 0 Opens: 171 Open tables: 28 Queries per second avg: 0.505

מסקנה

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

עכשיו שיש לך שרת MariaDB רץ ומאובטח, הנה כמה דוגמאות של צעדים הבאים שתוכל לבצע לעבוד עם השרת:

Source:
https://www.digitalocean.com/community/tutorials/how-to-install-mariadb-on-ubuntu-22-04