كيفية تثبيت MySQL على CentOS 7

مقدمة

MySQL هو نظام إدارة قواعد البيانات مفتوح المصدر، والمثبت عادة كجزء من مجموعة LEMP الشهيرة (Linux، Nginx، MySQL/MariaDB، PHP/Python/Perl). يستخدم قاعدة بيانات ذات علاقات ولغة استعلام مُنظمة (SQL) لإدارة بياناته.

تفضل 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 بتثبيت MariaDB في الواقع بدلاً من MySQL. لتثبيت MySQL، سنحتاج إلى زيارة مستودع Yum المجتمعي لـ MySQL الذي يوفر حزمًا لـ MySQL.

في متصفح الويب، قم بزيارة:

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

يرجى ملاحظة أن الروابط التنزيل البارزة لا تؤدي مباشرة إلى الملفات. بدلاً من ذلك، تؤدي إلى صفحة لاحقة حيث يُطلب منك تسجيل الدخول أو إنشاء حساب. إذا كنت لا ترغب في إنشاء حساب، يمكنك العثور على النص “لا، شكرًا، ابدأ التنزيل الخاص بي فقط”، ثم نقر بالزر الأيمن ونسخ موقع الرابط، أو يمكنك تحرير رقم الإصدار في الأوامر أدناه.

ابحث عن الإصدار المطلوب وقم بتحديثه حسب الحاجة في الرابط أدناه:

  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

هذا يضيف مستودعين جديدين لـ MySQL yum، ويمكننا الآن استخدامهما لتثبيت خادم 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

أثناء عملية التثبيت، يتم إنشاء كلمة مرور مؤقتة لمستخدم root الخاص بـ 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