MariaDB یک سیستم مدیریت پایگاه داده رابطهای منبع باز است که معمولاً به عنوان جایگزینی برای MySQL به عنوان بخش پایگاه داده پشته محبوب LAMP (Linux, Apache, MySQL, PHP/Python/Perl) استفاده میشود. در نظر گرفته شده است که جایگزینی برای MySQL باشد.
نسخه کوتاه این راهنمای نصب شامل این سه مرحله است:
-
فهرست پکیج خود را با استفاده از apt به روز کنید.
-
بسته mariadb-server را با استفاده از apt نصب کنید. این بسته همچنین ابزارهای مرتبط را برای تعامل با MariaDB میکشد.
-
اسکریپت امنیتی mysql_secure_installation را اجرا کنید تا دسترسی به سرور را محدود کنید.
sudo apt update
sudo apt install mariadb-server
sudo mysql_secure_installation
در این آموزش نحوه نصب MariaDB بر روی سرور اوبونتو 20.04 را توضیح خواهیم داد.
پیش نیازها
برای دنبال کردن این آموزش، به سروری نیاز دارید که اوبونتو 20.04 را اجرا کند. این سرور باید یک کاربر روت و یک فایروال پیکربندی شده با UFW داشته باشد. این را با دنبال کردن راهنمای اولیه راه اندازی سرور ما برای اوبونتو 20.04 تنظیم کنید.
مرحله 1 - نصب MariaDB
از زمان نگارش این مقاله، مخازن پیشفرض APT Ubuntu 20.04 شامل MariaDB نسخه 10.3 است. برای نصب آن، فهرست بسته را در سرور خود با apt به روز کنید:
sudo apt update
سپس بسته را نصب کنید:
sudo apt install mariadb-server
اطمینان حاصل کنید که MariaDB با دستور systemctl start اجرا می شود:
sudo systemctl start mariadb.service
این دستورات MariaDB را نصب و راهاندازی میکنند، اما از شما درخواست نمیکنند که رمز عبور تعیین کنید یا تغییر کانفیگ دیگری انجام دهید. از آنجا که پیکربندی پیشفرض نصب MariaDB شما را ناامن میکند، ما از اسکریپتی استفاده میکنیم که بسته mariadb-server، برای محدود کردن دسترسی به سرور و حذف حسابهای استفاده نشده ارائه میکند.
مرحله 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):
درخواست بعدی از شما می پرسد که آیا می خواهید رمز عبور روت پایگاه داده را تنظیم کنید یا خیر. در اوبونتو، حساب روت برای تعمیر و نگهداری سیستم خودکار است، بنابراین ما نباید روش های احراز هویت پیکربندی شده را برای آن حساب تغییر دهیم. 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 را فشار دهید تا پیشفرضها را برای تمام سؤالات بعدی بپذیرید. با این کار برخی از کاربران ناشناس و پایگاه داده آزمایشی حذف میشوند، ورود به سیستم روت از راه دور غیرفعال میشود و این قوانین جدید بارگیری میشود تا MariaDB فوراً تغییراتی را که ایجاد کردهاید پیادهسازی کند.
با آن، پیکربندی امنیتی اولیه MariaDB را به پایان رساندید. مرحله بعدی یک مرحله اختیاری است، اگرچه اگر ترجیح می دهید با یک رمز عبور در سرور MariaDB خود احراز هویت شوید، باید آن را دنبال کنید.
مرحله 3 - (اختیاری) ایجاد یک کاربر ادمین که از احراز هویت رمز عبور استفاده می کند
برای این منظور، یک حساب کاربری جدید به نام admin با همان قابلیتهای اکانت root ایجاد میکنیم، اما برای احراز هویت رمز عبور پیکربندی شده است. درخواست MariaDB را از ترمینال خود باز کنید:
sudo mariadb
سپس یک کاربر جدید با مزایای روت و دسترسی مبتنی بر رمز عبور ایجاد کنید. حتماً نام کاربری و رمز عبور را تغییر دهید تا با تنظیمات شما مطابقت داشته باشد:
;GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION
برای اطمینان از ذخیره و در دسترس بودن آنها در بخش جاری، privileges را پاک کنید:
FLUSH PRIVILEGES;
پس از این، از قسمت MariaDB خارج شوید:
exit
در نهایت، اجازه دهید نصب 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 (این ابزار یک کلاینت است که به شما امکان اجرای دستورات مدیریتی را میدهد.) به پایگاه داده متصل شوید. به عنوان مثال، این دستور می گوید که با استفاده از Unix socket به عنوان root به 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 که با آن نصب شده بود، آن را ایمن کردید. شما همچنین این گزینه را داشتید که یک کاربر اداری جدید ایجاد کنید که از احراز هویت رمز عبور استفاده میکند. امیدواریم این مقاله آموزشی برای شما مفید بوده باشد، برای دیدن باقی آموزش ها میتوانید وارد منوی پشتیبانی بخش آموزش ها شوید، در صورتی که درباره این آموزش به مشکل یا سوالی برخورد کردید، میتوانید آن را در بخش دیدگاه بیان کنید.
آموزش های مرتبط: