הקדמה
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" ("לא תודה, התחלו את ההורדה שלי") וללחוץ כפתור ימני ולהעתיק את כתובת הקישור, או לערוך את מספר הגרסה בפקודות למטה.
אתרו את הגרסה הרצויה, ועדכנו אותה לפי הצורך בקישור הבא:
כאשר הקובץ rpm נשמר, נוודא את תקינות ההורדה על ידי הרצת md5sum
והשוואתה עם הערך MD5 התואם המצוי באתר:
Outpute2bd920ba15cd3d651c1547661c60c7c mysql80-community-release-el7-5.noarch.rpm
השוו את הפלט הזה עם הערך MD5 המתאים באתר:
עכשיו שוודאנו שהקובץ לא נפגע או שונה, נפעיל את החבילה:
זה מוסיף שני מאגרי yum חדשים של MySQL, וכעת נוכל להשתמש בהם כדי להתקין את שרת MySQL:
לחץ y
כדי לאשר שברצונך להמשיך. מאחר שהוספנו עתה את החבילה, נתבקש גם לאשר את מפתח ה-GPG שלה. לחץ y
כדי להוריד אותו ולהשלים את ההתקנה.
שלב 2 — התחלת MySQL
נתחיל את השירות עם הפקודה הבאה:
systemctl
אינו מציג את תוצאת כל פקודות ניהול השירותים, לכן כדי לוודא שהצלחנו, נשתמש בפקודה הבאה:
אם MySQL הופעל בהצלחה, הפלט צריך לכלול Active: active (running)
והשורה הסופית צריכה להיראות משהו דומה לזה:
הערה: MySQL מופעל באופן אוטומטי על מנת להתחיל באמצעות האיתור. באפשרותך לשנות את ההתנהגות ברירת המחדל עם sudo systemctl disable mysqld
במהלך תהליך ההתקנה, סיסמה זמנית מיוצרת עבור משתמש השורש של MySQL. אתה יכול לאתר אותה ב-mysqld.log
עם הפקודה הזו:
Output2022-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 כולל סקריפט אבטחה כדי לשנות חלק מהאפשרויות הברירת מחדל הפחות מאובטחות כמו כניסות שורש מרוחקות ומשתמשים דוגמאיים.
השתמש בפקודה זו כדי להריץ את סקריפט האבטחה.
זה יפעיל אתך על סיסמת השורש הברירת מחדל. כשתזינו אותה, יידרש ממך לשנות אותה מייד.
OutputThe existing password for the user account root has expired. Please set a new password.
New password:
הזן סיסמה חדשה בת 12 תווים שכוללת לפחות אות רישית אחת, אות קטנה אחת, מספר אחד ותו מיוחד אחד. הזן שוב כשיתבקש.
תקבלו משוב על חוזק הסיסמה החדשה שלכם, ולאחר מכן תתבקשו מיידית לשנות אותה שוב. מאחר שעשיתם זאת כבר, תוכלו להפיק ללא ספק לא
:
OutputEstimated 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
), ולהחזיר את הגרסה.
עליך לראות פלט דומה לזה:
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