مقدمة
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/
يرجى ملاحظة أن الروابط التنزيل البارزة لا تؤدي مباشرة إلى الملفات. بدلاً من ذلك، تؤدي إلى صفحة لاحقة حيث يُطلب منك تسجيل الدخول أو إنشاء حساب. إذا كنت لا ترغب في إنشاء حساب، يمكنك العثور على النص “لا، شكرًا، ابدأ التنزيل الخاص بي فقط”، ثم نقر بالزر الأيمن ونسخ موقع الرابط، أو يمكنك تحرير رقم الإصدار في الأوامر أدناه.
ابحث عن الإصدار المطلوب وقم بتحديثه حسب الحاجة في الرابط أدناه:
بمجرد حفظ ملف rpm، سنتحقق من سلامة التنزيل عن طريق تشغيل md5sum
ومقارنته بالقيمة MD5 المقابلة المدرجة على الموقع:
Outpute2bd920ba15cd3d651c1547661c60c7c mysql80-community-release-el7-5.noarch.rpm
قارن هذا الإخراج مع القيمة MD5 المناسبة على الموقع:
الآن بعد التحقق من عدم تلف أو تغيير الملف، سنقوم بتثبيت الحزمة:
هذا يضيف مستودعين جديدين لـ MySQL yum، ويمكننا الآن استخدامهما لتثبيت خادم MySQL:
اضغط y
لتأكيد رغبتك في المتابعة. نظرًا لأننا قمنا للتو بإضافة الحزمة، سنُطلب أيضًا قبول مفتاح GPG الخاص بها. اضغط y
لتنزيله واكتمال التثبيت.
الخطوة 2 — بدء MySQL
سنبدأ البرنامج الخفي باستخدام الأمر التالي:
systemctl
لا يعرض نتيجة جميع أوامر إدارة الخدمة، لذا للتأكد من نجاحنا، سنستخدم الأمر التالي:
إذا بدأ MySQL بنجاح، يجب أن تحتوي النتيجة على Active: active (running)
ويجب أن تبدو السطر النهائي على شكل ما يشبه:
ملاحظة: يتم تمكين MySQL تلقائيًا للبدء عند التمهيد عند تثبيته. يمكنك تغيير هذا السلوك الافتراضي باستخدام sudo systemctl disable mysqld
أثناء عملية التثبيت، يتم إنشاء كلمة مرور مؤقتة لمستخدم root الخاص بـ 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