איך להתקין את MySQL על CentOS 7

הקדמה

MySQL הוא מערכת לניהול מסדי נתונים בקוד פתוח, המותקנת באופן רגיל כחלק מהתקנת הערמת ה-LEMP (Linux, Nginx, MySQL/MariaDB, PHP/Python/Perl) הפופולרית. היא משתמשת במסד נתונים רציונלי ובשפת SQL (Structured Query Language) לניהול הנתונים שלה.

CentOS 7 מעדיף את MariaDB, שהיא גרסה משופרת של MySQL שנוהגת על ידי מפתחי MySQL המקוריים ומיועדת כהחלפה ל־MySQL. אם תפעילו את הפקודה yum install mysql ב־CentOS 7, תותקן MariaDB במקום MySQL. אם תתעקשו לדעת על MySQL נגד MariaDB, MariaDB בדרך כלל תתקין ותתפעל בצורה חלקה במקום MySQL, לכן, אלא אם יש לכם מטרה מסוימת לשימוש ב־MySQL, כדאי לראות את המדריך כיצד להתקין MariaDB על CentOS 7.

מדריך זה יסביר כיצד להתקין את MySQL גרסה 8 על שרת CentOS 7.

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

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

  • A CentOS 7 with a non-root user with sudo privileges. You can learn more about how to set up a user with these privileges in the Initial Server Setup with CentOS 7 guide.

שלב 1 — התקנת MySQL

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

בדפדפן אינטרנט, בקרו ב־:

https://dev.mysql.com/downloads/repo/yum/

שימו לב שקישורי ההורדה המובהקים אינם מובילים ישירות אל הקבצים. במקום זאת, הם מובילים לדף נוסף שבו מתבקשים להתחבר או להירשם לחשבון. אם אינכם רוצים ליצור חשבון, ניתן לאתר את הטקסט "No thanks, just start my download" ("לא תודה, התחלו את ההורדה שלי") וללחוץ כפתור ימני ולהעתיק את כתובת הקישור, או לערוך את מספר הגרסה בפקודות למטה.

אתרו את הגרסה הרצויה, ועדכנו אותה לפי הצורך בקישור הבא:

  1. curl -sSLO https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm

כאשר הקובץ rpm נשמר, נוודא את תקינות ההורדה על ידי הרצת md5sum והשוואתה עם הערך MD5 התואם המצוי באתר:

  1. md5sum mysql80-community-release-el7-5.noarch.rpm
Output
e2bd920ba15cd3d651c1547661c60c7c mysql80-community-release-el7-5.noarch.rpm

השוו את הפלט הזה עם הערך MD5 המתאים באתר:

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

  1. sudo rpm -ivh mysql57-community-release-el7-9.noarch.rpm

זה מוסיף שני מאגרי yum חדשים של MySQL, וכעת נוכל להשתמש בהם כדי להתקין את שרת MySQL:

  1. sudo yum install mysql-server

לחץ y כדי לאשר שברצונך להמשיך. מאחר שהוספנו עתה את החבילה, נתבקש גם לאשר את מפתח ה-GPG שלה. לחץ y כדי להוריד אותו ולהשלים את ההתקנה.

שלב 2 — התחלת MySQL

נתחיל את השירות עם הפקודה הבאה:

  1. sudo systemctl start mysqld

systemctl אינו מציג את תוצאת כל פקודות ניהול השירותים, לכן כדי לוודא שהצלחנו, נשתמש בפקודה הבאה:

  1. sudo systemctl status mysqld

אם MySQL הופעל בהצלחה, הפלט צריך לכלול Active: active (running) והשורה הסופית צריכה להיראות משהו דומה לזה:

  1. Dec 01 19:02:20 centos-512mb-sfo2-02 systemd[1]: Started MySQL Server.

הערה: MySQL מופעל באופן אוטומטי על מנת להתחיל באמצעות האיתור. באפשרותך לשנות את ההתנהגות ברירת המחדל עם sudo systemctl disable mysqld

במהלך תהליך ההתקנה, סיסמה זמנית מיוצרת עבור משתמש השורש של MySQL. אתה יכול לאתר אותה ב-mysqld.log עם הפקודה הזו:

  1. sudo grep 'temporary password' /var/log/mysqld.log
Output
2022-01-24T19:54:46.313728Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: mqRfBU_3Xk>r

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

שלב 3 — הגדרת MySQL

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

השתמש בפקודה זו כדי להריץ את סקריפט האבטחה.

  1. sudo mysql_secure_installation

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

Output
The existing password for the user account root has expired. Please set a new password. New password:

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

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

Output
Estimated strength of the password: 100 Change the password for root ? (Press y|Y for Yes, any other key for No) :

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

עכשיו שאנו מאובטחים את ההתקנה, בואו נבדוק אותה.

שלב 4 — בדיקת MySQL

ניתן לאמת את ההתקנה ולקבל מידע עליה על ידי התחברות עם הכלי mysqladmin, לקוח שמאפשר לך להריץ פקודות מנהליות. השתמש בפקודה הבאה כדי להתחבר ל־MySQL כ־root (-u root), לבקש הזנת סיסמה (-p), ולהחזיר את הגרסה.

  1. mysqladmin -u root -p version

עליך לראות פלט דומה לזה:

Output
mysqladmin  Ver 8.0.28 for Linux on x86_64 (MySQL Community Server - GPL)
Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Server version		8.0.28
Protocol version	10
Connection		Localhost via UNIX socket
UNIX socket		/var/lib/mysql/mysql.sock
Uptime:			3 min 2 sec

Threads: 2  Questions: 14  Slow queries: 0  Opens: 133  Flush tables: 3  Open tables: 49  Queries per second avg: 0.076

זה מציין שההתקנה שלך הצליחה.

מסקנה

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

Source:
https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-centos-7