
مقدمه
ماریادیبی (MariaDB) یک سیستم مدیریت دیتابیس رابطهای (Relational Database Management System) متنباز است که معمولاً به عنوان جایگزین MySQL در بخش دیتابیسِ پشته محبوب LAMP (لینوکس، آپاچی، MySQL، PHP/Python/Perl) استفاده میشود. هدف از ساخت MariaDB این بوده که به عنوان یک جایگزین مستقیم (Drop-in replacement) برای MySQL عمل کند.
این آموزش سریع نحوه نصب MariaDB روی یک سرور اوبونتو و راهاندازی آن با یک پیکربندی اولیه و امن را توضیح میدهد. همچنین نحوه ایجاد یک حساب کاربری مدیر (Administrative) اضافی برای دسترسی با رمز عبور را پوشش میدهد.
(نکته: از آنجایی که نسخههای قدیمیتر اوبونتو مانند 20.04 به پایان عمر خود رسیدهاند، در این مقاله مراحل را برای اوبونتو 24.04 بهروزرسانی کردهایم.)
پیشنیازها
برای دنبال کردن این آموزش، به یک سرور اوبونتو 24.04 نیاز دارید. این سرور باید دارای یک کاربر غیر روت (non-root) با دسترسی sudo و فایروال پیکربندیشده با UFW باشد. میتوانید این موارد را با دنبال کردن راهنمای راهاندازی اولیه سرور در پارمین کلود (Parmin Cloud) تنظیم کنید.
مرحله ۱ — نصب MariaDB
پیش از نصب MariaDB، ایندکس پکیجهای سرور خود را با apt بهروزرسانی کنید:
sudo apt update
سپس پکیج را نصب کنید:
sudo apt install mariadb-server
هنگامی که از مخازن پیشفرض نصب میشود، MariaDB به طور خودکار شروع به کار میکند. برای تست این موضوع، وضعیت آن را بررسی کنید:
sudo systemctl status mariadb
خروجی مشابه زیر دریافت خواهید کرد:
Output
● mariadb.service - MariaDB 10.11.8 database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2024-05-12 13:38:18 UTC; 3min 55s ago
Docs: man:mysqld(8)
https://mariadb.com/kb/en/library/systemd/
Main PID: 25914 (mysqld)
Status: "Taking your SQL requests now..."
Tasks: 31 (limit: 2345)
Memory: 65.6M
CGroup: /system.slice/mariadb.service
└─25914 /usr/sbin/mysqld
. . .
اگر MariaDB در حال اجرا نیست، میتوانید آن را با دستور sudo systemctl start mariadb استارت کنید.
مرحله ۲ — پیکربندی MariaDB
اسکریپت امنیتی که از قبل همراه با MariaDB نصب شده است را اجرا کنید. این کار شما را در یک سری مرور مراحل (Prompts) راهنمایی میکند تا تغییراتی در گزینههای امنیتی نصب MariaDB خود ایجاد کنید:
sudo mysql_secure_installation
اولین درخواست از شما میخواهد که رمز عبور فعلی دیتابیس root را وارد کنید. از آنجایی که هنوز رمزی تنظیم نکردهاید، کلید ENTER را فشار دهید تا به معنای «هیچکدام» (none) در نظر گرفته شود.
Output
. . .
Enter current password for root (enter for none):
درخواست بعدی میپرسد که آیا میخواهید یک رمز عبور برای کاربر root دیتابیس تنظیم کنید یا خیر. در اوبونتو، حساب root در MariaDB тесноً (به شدت) به نگهداری خودکار سیستم متصل است، بنابراین نباید روشهای احراز هویت پیکربندیشده برای این حساب را تغییر دهیم. حرف N را تایپ کرده و سپس ENTER را بزنید.
Output
. . .
Set root password? [Y/n] N
از این به بعد، میتوانید برای تمام سوالات بعدی حرف Y را تایپ کرده و ENTER را بزنید تا پیشفرضها پذیرفته شوند. این کار برخی از کاربران ناشناس (anonymous) و دیتابیس تست را حذف کرده، ورود ریموت با کاربر root را غیرفعال میکند و سپس این قوانین جدید را بارگذاری مینماید.
مرحله ۳ — (اختیاری) ایجاد یک کاربر مدیر با احراز هویت رمز عبور
در سیستمهای اوبونتویی که MariaDB را اجرا میکنند، کاربر root به طور پیشفرض به جای استفاده از رمز عبور، با پلاگین unix_socket احراز هویت میشود. از آنجایی که سرور از حساب root برای وظایفی مانند چرخش لاگها (Log rotation) و استارت و توقف سرور استفاده میکند، بهتر است جزئیات احراز هویت کاربر root تغییر نکند. در عوض، نگهداران پکیج پیشنهاد میکنند یک حساب مدیر جداگانه برای دسترسی مبتنی بر رمز عبور ایجاد کنید.
برای این کار، پرامپت MariaDB را از ترمینال خود باز کنید:
sudo mariadb
سپس یک کاربر جدید با دسترسیهای root و دسترسی مبتنی بر رمز عبور ایجاد کنید. حتماً نام کاربری و رمز عبور را با ترجیحات خود تغییر دهید:
GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
دسترسیها (Privileges) را Flush کنید تا اطمینان حاصل شود که ذخیره شده و در نشست فعلی در دسترس هستند:
FLUSH PRIVILEGES;
پس از این، از شل MariaDB خارج شوید:
exit
میتوانید این کاربر جدید را با ابزار mysqladmin (یک کلاینت که به شما اجازه میدهد دستورات مدیریتی را اجرا کنید) تست کنید. دستور mysqladmin زیر به عنوان کاربر admin به MariaDB متصل شده و پس از درخواست رمز عبور کاربر، شماره نسخه را برمیگرداند:
mysqladmin -u admin -p version
خروجی مشابه زیر دریافت خواهید کرد:
Output
mysqladmin Ver 9.1 Distrib 10.11.8-MariaDB, for debian-linux-gnu on x86_64
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Server version 10.11.8-MariaDB-1ubuntu1
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/run/mysqld/mysqld.sock
Uptime: 4 min 49 sec
Threads: 7 Questions: 467 Slow queries: 0 Opens: 177 Flush tables: 1 Open tables: 31 Queries per second avg: 1.615
نتیجهگیری
در این راهنما، شما سیستم مدیریت دیتابیس رابطهای MariaDB را نصب کرده و با استفاده از اسکریپت mysql_secure_installation که همراه آن نصب شده بود، آن را ایمنسازی کردید. همچنین این امکان را داشتید که یک کاربر مدیر جدید ایجاد کنید که از احراز هویت با رمز عبور استفاده میکند.
از همراهی شما با پارمین کلود سپاسگزاریم.



