آموزش نصب و پیکربندی MariaDB در سرور اوبونتو 20.04

آموزش نصب و پیکربندی MariaDB در سرور اوبونتو 20.04

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 را فشار دهید تا “none” نمایش داده شود:

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

در مرحله بعدی نحوه راه اندازی یک حساب کاربری اضافی برای دسترسی به رمز عبور را توضیح خواهیم داد. این در صورتی است که برای استفاده در مثال شما احراز هویت Socket مورد نیاز نباشد.

از آنجا، می‌توانید Y را تایپ کنید و سپس Enter را فشار دهید تا تنظیمات پیش‌فرض برای تمام سؤالات بعدی را بپذیرید. با این کار برخی از کاربران ناشناس و پایگاه داده آزمایشی حذف می شود و ورودی های Remote Root غیرفعال می شود و این قوانین جدید بارگیری می شود تا MariaDB تغییرات اعمال شده را بلافاصله اعمال کند.

این پیکربندی اولیه امنیتی MariaDB را تکمیل می کند. مرحله بعدی یک مرحله اختیاری است. با این حال، اگر ترجیح می دهید با یک رمز عبور برای سرور MariaDB خود احراز هویت کنید، باید از آن پیروی کنید.

مرحله 3. یک کاربر مدیر ایجاد کنید که از احراز هویت رمز عبور استفاده می کند (اختیاری)

در سیستم های اوبونتو که MariaDB 10.3 را اجرا می کنند، کاربر ریشه MariaDB به طور پیش فرض با استفاده از افزونه unix_socket به جای رمز عبور احراز هویت می شود. این اغلب امنیت و قابلیت استفاده بیشتر را فراهم می کند. اما گاهی اوقات زمانی که نیاز دارید به یک برنامه خارجی (مثلاً phpMyAdmin) با مجوز مدیر اجازه دهید، می‌تواند کار را پیچیده‌تر کند.

از آنجایی که سرور از اکانت ریشه برای کارهایی مانند چرخش لاگ و راه اندازی و توقف سرور استفاده می کند، بهتر است جزئیات احراز هویت حساب ریشه را تغییر ندهید. تغییر اعتبار در فایل پیکربندی /etc/mysql/debian.cnf ممکن است در ابتدا کارساز باشد. اما به روز رسانی بسته به طور بالقوه می تواند این تغییرات را بازنویسی کند.

به جای تغییر حساب ریشه، بسته های پشتیبانی ایجاد یک حساب اداری جداگانه برای دسترسی مبتنی بر رمز عبور را توصیه می کنند. برای این منظور، یک حساب کاربری جدید به نام admin با قابلیت های مشابه حساب کاربری root ایجاد می کنید. اما در اینجا برای احراز هویت رمز عبور پیکربندی شده است. سپس به سرعت MariaDB را از ترمینال خود به صورت زیر باز کنید:

$ sudo mariadb

سپس یک کاربر جدید با دسترسی ریشه و رمز عبور ایجاد کنید. حتماً نام کاربری و رمز عبور را تغییر دهید تا با تنظیمات ایجاد شده توسط برنامه شما مطابقت داشته باشد: GRANT ALL ON *.* TO ‘admin’@’localhost’ IDENTIFIED by ‘password’ WITH GRANT OPTION.

برای اطمینان از حفظ و در دسترس بودن آنها در جلسه جاری، امتیازات را پاک کنید:

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 Ubuntu را نصب کنیم؟

بله، زیرا دو نمونه از MySQL می توانند با هم وجود داشته باشند. ناگفته نماند که MariaDB هنوز یک جایگزین ضروری است.