المقدمة
MariaDB هو نظام إدارة قواعد البيانات العلاقية مفتوح المصدر، ويُستخدم عادة كبديل لـ MySQL كجزء من قاعدة البيانات في مجموعة LAMP الشهيرة (Linux، Apache، MySQL، PHP/Python/Perl). ومن المقرر أن يكون بديلًا متوافقًا تمامًا مع MySQL.
النسخة المختصرة من دليل التثبيت تتألف من هذه الخطوات الثلاث:
- قم بتحديث فهرس الحزم باستخدام
apt
- قم بتثبيت حزمة
mariadb-server
باستخدامapt
. تقوم الحزمة أيضًا بسحب الأدوات ذات الصلة للتفاعل مع MariaDB - قم بتشغيل نص الأمان
mysql_secure_installation
المضمن لتقييد الوصول إلى الخادم
سيشرح هذا البرنامج التعليمي كيفية تثبيت MariaDB على خادم Ubuntu 22.04 والتحقق من تشغيله وأن لديه تكوينًا أوليًا آمنًا.
المتطلبات المسبقة
- لمتابعة هذا البرنامج التعليمي، ستحتاج إلى خادم يعمل بنظام أوبونتو 22.04. يجب أن يحتوي هذا الخادم على مستخدم إداري غير جذري وجدار ناري مكون باستخدام UFW. قم بإعداد هذا باتباع دليل إعداد الخادم الأولي الخاص بنا لأوبونتو 22.04.
الخطوة 1 — تثبيت MariaDB
حتى تاريخ كتابة هذا النص، تتضمن مستودعات APT الافتراضية لأوبونتو 22.04 إصدار MariaDB 10.5.12.
لتثبيته، قم بتحديث فهرس الحزم على خادمك باستخدام apt
:
ثم قم بتثبيت الحزمة:
سيقوم هذان الأمران بتثبيت MariaDB، لكن لن يطلب منك تعيين كلمة مرور أو إجراء أي تغييرات أخرى في التكوين. نظرًا لأن التكوين الافتراضي يترك تثبيت MariaDB الخاص بك غير آمن، ستستخدم نصًا يوفره حزمة mariadb-server
لتقييد الوصول إلى الخادم وإزالة الحسابات غير المستخدمة.
الخطوة 2 — تكوين MariaDB
بالنسبة لتثبيتات MariaDB الجديدة، الخطوة التالية هي تشغيل النص الأمني المضمن. يقوم هذا النص بتغيير بعض الخيارات الافتراضية غير الآمنة مثل تسجيل الدخول الجذري عن بعد والمستخدمين العينة.
تشغيل النصي الأمني:
سيأخذك هذا خلال سلسلة من الاستجوابات حيث يمكنك إجراء بعض التغييرات على خيارات أمان تثبيت MariaDB الخاص بك. سيطلب منك الاستجواب الأول إدخال كلمة مرور قاعدة البيانات root الحالية. نظرًا لعدم قيامك بإعدادها بعد ، اضغط على ENTER
للإشارة إلى “لا شيء”.
OutputNOTE: 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. في أوبونتو ، يرتبط حساب 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
لقبول القيم الافتراضية لجميع الأسئلة التالية. سيؤدي هذا إلى إزالة بعض المستخدمين المجهولين وقاعدة البيانات التجريبية ، وتعطيل تسجيلات الدخول الجذور عن بُعد ، وتحميل هذه القواعد الجديدة بحيث ينفذ MariaDB تغييراتك فورًا.
بهذا، لقد أكملت تكوين الأمان الأولي لـ MariaDB. الخطوة التالية اختيارية، على الرغم من ذلك يجب عليك اتباعها إذا كنت تفضل المصادقة على خادم MariaDB الخاص بك بكلمة مرور.
الخطوة 3 — (اختياري) إنشاء مستخدم إداري يستخدم مصادقة كلمة المرور
في أنظمة Ubuntu التي تعمل MariaDB 10.5 ، يتم تعيين مستخدم MariaDB root للمصادقة باستخدام مكون unix_socket
افتراضيًا بدلاً من استخدام كلمة مرور. يتيح ذلك بعض الأمان والاستخدامية الأكبر في كثير من الحالات، ولكن يمكن أن يعقّد الأمور عند الحاجة إلى السماح لبرنامج خارجي (على سبيل المثال، phpMyAdmin) بحقوق الإدارة.
نظرًا لأن الخادم يستخدم الحساب root لمهام مثل تدوير السجلات وبدء وإيقاف تشغيل الخادم، فمن الأفضل عدم تغيير تفاصيل مصادقة الحساب root. قد تعمل تغييرات الاعتماد في ملف التكوين /etc/mysql/debian.cnf
في البداية، ولكن قد تقوم التحديثات الخاصة بالحزم بالكتابة فوق تلك التغييرات. بدلاً من تعديل حساب root، يوصي مُحافظو الحزم بإنشاء حساب إداري منفصل للوصول بواسطة كلمة مرور.
لهذا الغرض، سنقوم بإنشاء حساب جديد يسمى admin بنفس إمكانيات حساب root، ولكن يتم تكوينه للمصادقة عبر كلمة المرور. قم بفتح نافذة الأوامر الخاصة بـ MariaDB من الطرفية الخاصة بك:
ثم قم بإنشاء مستخدم جديد بامتيازات root ووصول مستند إلى كلمة المرور. تأكد من تغيير اسم المستخدم وكلمة المرور لتتناسب مع تفضيلاتك:
قم بتفريغ الامتيازات للتأكد من حفظها وتوفرها في الجلسة الحالية:
بعد ذلك، اخرج من قندورة MariaDB:
وأخيرًا، دعونا نختبر تثبيت MariaDB.
الخطوة 4 — اختبار MariaDB
عند التثبيت من المستودعات الافتراضية، ستبدأ 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 وإرجاع الإصدار:
ستتلقى مخرجات مشابهة لهذه.
Outputmysqladmin 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