ما با محدودکردن حق استفاده از اینترنت مخالفیم.
اطلاعات بیشتر

روش نصب mariadb روی سیستم عامل...

تکنولوژی
روش نصب mariadb روی سیستم عامل Ubuntu 20.04
تکنولوژی 1400/06/21

این مقاله نحوه نصب MariaDB را بر روی سرور اوبونتو 20.04 توضیح می‌دهد و وضعیت سرویس اش را بررسی می‌کند و شامل پیکربندی اولیه امنیتی است

مقدمه 

MariaDB  یک سیستم و ابزار مدیریت پایگاه داده متن باز است که معمولا به عنوان پایگاه داده در stack محبوب LAMP (Linux, Apache, MySQL, PHP/Python/Perl) به عنوان جایگزینی برای Mysql مورد استفاده قرار گرفته می‌شود.

مقاله راهنمای نصب MariaDB  شامل سه بخش زیر است.

بخش اول)

پکیج‌های سیستم عامل خود را با استفاده از apt به روز رسانی می‌کنیم.

بخش دوم)

نصب پکیج mariadb-server با استفاده از apt که این پکیج شامل ابزار‌های مرتبط برای تعامل با MariaDB است.

بخش سوم)

استفاده از اسکریپت امنیتی mysql_secure_installation که جهت دسترسی به سرور دیتابیس است.

این مقاله نحوه نصب MariaDB را بر روی سرور اوبونتو 20.04 توضیح می‌دهد و وضعیت سرویس اش را بررسی می‌کند و شامل پیکربندی اولیه امنیتی است.

پیش نیازها

برای پیگیری این آموزش، به سروری نیاز دارید که Ubuntu 20.04 را اجرا کند. این سرور باید دارای یک یوزر غیر root و یک فایروال با UFW پیکربندی شده باشد.

مرحله اول – نصب MariaDB

با استفاده از کامند زیر مخازن سیستم عامل خود را به روز رسانی می‌کنیم.

sudo apt update

سپس با کامند زیر MariaDB را دانلود و نصب می‌کنیم.

sudo apt install mariadb-server

با زدن کامند بالا MariaDB نصب می‌شود اما به صورت پیش فرض تنظیمات امنیتی روی آن اعمال نشده است و رمزی برای ورود به آن پیکربندی نشده است، ما با استفاده از اسکریپت امنیتی در MariaDB سرور، اکانت‌های بلا استفاده را حذف و دسترسی به سرور را به صورت ایمن پیکربندی می‌کنیم.

مرحله دوم – پیکربندی MariaDB

گام بعدی اجرای اسکریپت امنیتی است. این اسکریپت برخی از گزینه‌های پیش فرض با امنیت کمتر را برای مواردی مانند ورود به root دیتابیس از راه دور و نمونه یوزر‌ها را تغییر و ایمن می‌کند.

با زدن کامند زیر، اسکریپت امنیتی فوق را اجرا می‌کنیم.

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):

 

در درخواست بعدی از شما می‌پرسد که آیا می‌خواهید رمز عبور root پایگاه داده را تنظیم کنید. در سیستم عامل اوبونتو، اکانت اصلی MariaDB به تعمیر و maintenance خودکار سیستم وابسته است، بنابراین ما نباید روش‌های پیکربندی احراز هویت را برای آن اکانت را تغییر دهیم. انجام این کار ممکن است که با به روز رسانی پکیج‌ها دسترسی و احراز هویت در پایگاه داده را دچار اختلال کند. 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 را نیز وارد نمایید تا پیش فرض همه سوالات بعدی پذیرفته شده (تایید شده) در نظر گرفته شود. این کار برخی از یوزر‌های ناشناس پایگاه داده را حذف می‌کند، ورود با یوزر root از راه دور به پایگاه داده را غیرفعال می‌کند و قوانین جدید را بارگذاری می‌کند تا MariaDB بلافاصله تغییرات ایجاد شده را پیاده سازی کند.

با این کار، پیکربندی امنیتی اولیه MariaDB را به پایان رساندید. مرحله بعدی یک مرحله اختیاری است، اگر شما ترجیح می‌دهید با گذرواژه (رمز عبور) به سرور MariaDB خود متصل و احراز هویت شوید، باید مرحله سوم را دنبال کنید.

مرحله سوم – (اختیاری) ایجاد کاربر و تخصیص رمز جهت احراز هویت

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

 

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

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

sudo mariadb

کاربر جدید با دسترسی root را می‌سازیم مانند مثال زیر :

GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

برای اطمینان از ذخیره شدن تغییرات داده شده در پایگاه داده کامند زیر را وارد می‌کنیم.

FLUSH PRIVILEGES;

برای خروج از محیط MariaDB کامند زیر را وارد می‌کنیم.

Exit

مرحله چهارم – تست MariaDB

زمانیکه MariaDB را با استفاده از مخازن پیش فرض ابونتو نصب و راه‌اندازی می‌کنیم، MariaDB به صورت اتومات start خواهد شد. برای بررسی مورد فوق می‌توانیم کامند زیر را وارد کنیم.

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 به صورت start نبود می‌توانیم با استفاده از کامند زیر سرویس MariaDB را start کنیم.

sudo systemctl start mariadb

برای بررسی بیشتر، می‌توانید اتصال به پایگاه داده را با استفاده از ابزار mysqladmin مورد بررسی قرار دهیم برای این منظور کامند زیر را وارد می‌کنیم :

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 را نصب کرده و آن را با استفاده از اسکریپت mysql_secure_installation ایمن می‌کنید. شما همچنین می‌توانید قبل از آزمایش عملکرد سرور MariaDB، یک کاربر جدید ایجاد کنید که از احراز هویت رمز عبور استفاده می‌کند.

ماریا دی بی

...
...