
MariaDB یک سیستم مدیریت پایگاه داده رابطه ای مبتنی بر متن است که معمولاً به عنوان جایگزینی برای MySQL استفاده می شود. MySQL به عنوان بخشی از پایگاه داده محبوب LAMP (Linux, Apache, MySQL, PHP/Python/Perl) شناخته می شود که جایگزینی برای MySQL در نظر گرفته می شود.
راهنمای نصب MariaDB شامل سه مرحله است:
- بسته شاخص خود را با استفاده از apt به روز کنید.
- بسته سرور MariaDB را با استفاده از apt نصب کنید. این بسته همچنین از ابزارهای مرتبط برای تعامل با MariaDB استفاده می کند.
- برای محدود کردن دسترسی به سرور، اسکریپت امنیتی mysql_secure_installation را اجرا کنید:
$ sudo apt update $ sudo apt install mariadb-server $ sudo mysql_secure_installation
در این مقاله آموزشی اوبونتو از وبلاگ پارس پک ابتدا نحوه نصب MariaDB بر روی سرور اوبونتو 20.04 را آموزش می دهیم و سپس به بررسی پیاده سازی و امنیت آن می پردازیم. پس تا آخر با ما باشید.
پیش نیازها
- سرور اوبونتو 20.04
- یک کاربر غیر ریشه
- فایروال با UFW پیکربندی شده است
نحوه نصب MariaDB بر روی سرور اوبونتو 20.04
برای نصب MariaDB بر روی سرور اوبونتو 20.04، باید مراحل زیر را انجام دهید:


مراحل نصب و پیکربندی MariaDB در سرور اوبونتو
مرحله 1. MariaDB را نصب کنید
برای نصب MariaDB، بسته index را در سرور خود با apt به روز کنید. برای این کار باید موارد زیر را انجام دهید:
$ sudo apt update
سپس بسته را نصب کنید:
$ sudo apt install mariadb-server
مطمئن شوید که MariaDB با دستور systemctl start اجرا می شود:
$ sudo systemctl start mariadb.service
این دستورات MariaDB را نصب خواهند کرد. با این حال، این مراحل از شما خواسته نمیشود که رمز عبور تعیین کنید یا تغییرات دیگری در پیکربندی انجام دهید.
از آنجایی که تنظیم یک پیکربندی بدون رمز عبور MariaDB را به طور پیش فرض ناامن می کند، ما از اسکریپتی استفاده می کنیم که از بسته mariadb-server برای ایمن کردن و محدود کردن دسترسی به سرور و حذف حساب های استفاده نشده استفاده می کند.


نحوه پیکربندی و اجرای MariaDB در اوبونتو
مرحله 2. MariaDB را پیکربندی کنید
پس از نصب MariaDB، مرحله بعدی اجرای اسکریپت امنیتی است. این اسکریپت برخی از گزینه های پیش فرض را برای مواردی مانند ورود به سیستم ریشه از راه دور و کاربران نمونه تغییر می دهد. اسکریپت امنیتی را به صورت زیر اجرا کنید:
$ sudo mysql_secure_installation
این روش شما را از طریق چند دستور راهنمایی می کند که در آنها می توانید تغییراتی در گزینه های امنیتی MariaDB خود ایجاد کنید.
اولین درخواست از شما می خواهد که رمز اصلی مورد نظر خود را برای پایگاه داده فعلی وارد کنید. از آنجایی که هنوز رمز عبور تعیین نکرده اید، Enter را فشار دهید تا “هیچکدام” نمایش داده شود:
Output NOTE: 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, we'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):
اعلان بعدی از شما می پرسد که آیا می خواهید رمز عبور ریشه پایگاه داده را تنظیم کنید. در اوبونتو، حساب ریشه برای 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. ایجاد یک کاربر اداری با استفاده از احراز هویت رمز عبور (اختیاری)
در سیستمهای اوبونتو که MariaDB 10.3 را اجرا میکنند، کاربر ریشه MariaDB بهطور پیشفرض با استفاده از افزونه unix_socket به جای رمز عبور احراز هویت میشود. این اغلب امنیت و قابلیت استفاده بیشتر را فراهم می کند. اما گاهی اوقات زمانی که نیاز دارید به یک برنامه خارجی (مانند phpMyAdmin) با مجوز مدیریت مجوز بدهید، میتواند کار را پیچیدهتر کند.
از آنجایی که سرور از حساب ریشه برای کارهایی مانند چرخش گزارش و راهاندازی و توقف سرور استفاده میکند، بهتر است جزئیات احراز هویت حساب ریشه را تغییر ندهید. تغییر اعتبار در فایل پیکربندی /etc/mysql/debian.cnf ممکن است قبلاً کارساز بوده باشد. اما به روز رسانی بسته به طور بالقوه می تواند این تغییرات را بازنویسی کند.
به جای تغییر حساب ریشه، نگهدارندگان بسته توصیه می کنند یک حساب اداری جداگانه برای دسترسی مبتنی بر رمز عبور ایجاد کنید. برای این منظور، یک حساب کاربری جدید به نام administrator ایجاد می کنید که دارای قابلیت های مشابه با حساب کاربری root است. اما در اینجا برای احراز هویت رمز عبور پیکربندی شده است. سپس، به سرعت MariaDB را از ترمینال خود به شرح زیر باز کنید:
$ sudo mariadb
سپس، یک کاربر جدید با دسترسی ریشه و رمز عبور ایجاد کنید. مطمئن شوید که نام کاربری و رمز عبور را تغییر دهید تا با تنظیمات ایجاد شده برنامه خود مطابقت داشته باشد: GRANT ALL در *.* به ‘admin’@’localhost’ مشخص شده با ‘password’ با گزینه کمک هزینه.
برای اطمینان از ذخیره و در دسترس بودن آنها در جلسه جاری، امتیازات را فلاش کنید:
FLUSH PRIVILEGES;
پس از آن، از پوسته MariaDB خارج شوید:
exit
در نهایت پس از نصب، MariaDB را تست خواهیم کرد.


چگونه رابط کاربری ادمین را هنگام نصب MariaDB در اوبونتو فعال کنیم؟
مرحله 4. MariaDB را تست کنید
هنگامی که این برنامه از منابع پیش فرض نصب می شود، MariaDB به طور خودکار راه اندازی می شود. برای تست این دستور زیر را وارد کنید:
$ sudo systemctl status mariadb
خروجی مشابه زیر دریافت خواهید کرد:
Output ● mariadb.service - MariaDB 10.3.22 database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2020-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 شروع کنید.
برای بررسی بیشتر، میتوانید با استفاده از ابزار mysqladmin، که یک کلاینت است که به شما امکان اجرای دستورات مدیریتی را میدهد، به پایگاه داده متصل شوید. به عنوان مثال، این دستور می گوید که با استفاده از سوکت یونیکس به عنوان ریشه به MariaDB متصل شوید و نسخه را برگردانید:
$ sudo mysqladmin version
پس از این، خروجی مشابه زیر دریافت خواهید کرد:
Output mysqladmin Ver 9.1 Distrib 10.3.22-MariaDB, for debian-linux-gnu on x86_64 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Server version 10.3.22-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
اگر به طور جداگانه کاربر مدیریت دیگری را با استفاده از رمز عبور دلخواه خود با احراز هویت پیکربندی کرده اید، می توانید با تایپ دستور زیر همین عملیات را برای آن انجام دهید:
$ mysqladmin -u admin -p version
این بدان معناست که MariaDB راهاندازی شده و کاربر شما میتواند با موفقیت احراز هویت کند.
نتیجه
در این مقاله آموزشی لینوکس از سری مقالات آموزش سیستم عامل وبلاگ پارسپک، آموزش راه اندازی سیستم مدیریت پایگاه داده رابطه ای MariaDB و ایمن سازی آن با استفاده از اسکریپت mysql_secure_installation را داشتیم.
علاوه بر این، ما یک کاربر اداری جدید ایجاد کرده ایم که از احراز هویت رمز عبور تعبیه شده قبل از آزمایش عملکرد سرور MariaDB استفاده می کند. ما اکنون یک سرور MariaDB ایمن و در حال اجرا داریم.
سوالات متداول
1. چگونه می توانیم MariaDB را در اوبونتو نصب کنیم؟
برای نصب MariaDB در اوبونتو 20.04، باید مراحل زیر را دنبال کنید:
$ sudo apt update
با استفاده از دستور زیر، تمام بسته ها به روز می شوند:
$ sudo apt install mariadb-server
پس از اتمام مراحل نصب، وضعیت سرور پایگاه داده را با دستور زیر بررسی کنید:
$ sudo systemctl status mariadb. ... $ mysql –V.
2. آیا می توانیم هم MariaDB و هم MySQL را روی اوبونتو نصب کنیم؟
بله، از آنجایی که دو نمونه MySQL می توانند با هم وجود داشته باشند. ناگفته نماند که MariaDB هنوز یک جایگزین جایگزین است.