آموزش کامل نصب MariaDB در سرور اوبونتو 20.04
در این مقاله میخوانید
MariaDB سیستم مدیریت دیتابیس ارتباطی متنبازی است که معمولاً بهعنوان جایگزینی برای MySQL استفاده میشود. MySQL بهعنوان بخشی از دیتابیس محبوب LAMP (Linux, Apache, MySQL, PHP/Python/Perl) شناخته میشود که قرار است جایگزینی برای MySQL باشد.
راهنمای نصب MariaDB شامل سه مرحله میشود:
- با استفاده از apt، پکیج Index خود را بهروز کنید.
- با استفاده از apt، پکیج سرور MariaDB را نصب کنید. این پکیج ابزارهای مرتبط را نیز برای تعامل با MariaDB بهکار میگیرد.
- برای محدودکردن دسترسی به سرور، اسکریپت امنیتی mysql_secure_installation را اجرا کنید:
$ sudo apt update $ sudo apt install mariadb-server $ sudo mysql_secure_installation
در این مقاله آموزش اوبونتو از وبلاگ پارس پک، ابتدا نحوه نصب MariaDB روی سرور اوبونتو 20.04 را آموزش میدهیم و درادامه، نحوه اجرا و امنیت آن را بررسی میکنیم. پس تا پایان با ما همراه باشید.
پیشنیازها
- سرور Ubuntu 20.04
- یک کاربر non-root
- فایروال پیکربندیشده با UFW
برای ذخیرهسازی و نگهداری دادههای مهم و حیاتی کسبوکارتان در سرور لینوکس پایگاه داده رابطهای بهتر از MariaDB پیدا نمیکنید. با نصب MariaDB در سرور اوبونتو 20.04 میتوانید دادههایتان را سریعتر و بهینهتر از دیتابیس MySQL مدیریت کنید.
آموزش نصب MariaDB در سرور اوبونتو 20.04
برای نصب MariaDB روی سرور اوبونتو 20.04، باید مراحل زیر را بهترتیب دنبال کنید:
مرحله 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 آن برای امنیت و محدودکردن دسترسی به سرور و حذف حسابهای استفادهنشده بهکار میرود.
چگونه میتوانیم در اوبونتو ۲۰.۰۴، ریپازیتوری نصب و راهاندازی کنیم؟
مرحله 2. پیکربندی MariaDB
پس از نصب MariaDB، مرحله بعدی اجرای اسکریپت امنیتی است. این اسکریپت برخی از گزینههای پیشفرض را برای مواردی مانند ورود به سیستم Remote Root و Sample Users تغییر میدهد.
اسکریپت امنیتی را بهصورت زیر اجرا کنید:
$ 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):
اعلان بعدی از شما میپرسد که آیا میخواهید رمزعبور root پایگاه داده را تنظیم کنید یا خیر. در اوبونتو، حساب root برای MariaDB سیستمی خودکار است؛ بنابراین، نباید روشهای احراز هویت پیکربندیشده را برای آن حساب تغییر دهیم.
انجام این کار این امکان را برای بهروزرسانی پکیج بهمنظور شکستن قفل سیستم پایگاه داده با حذف دسترسی به حساب Administrative فراهم میکند. برای این کار، 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
در مرحله بعدی، نحوه راهاندازی حساب Administrative اضافی برای دسترسی به رمزعبور را توضیح خواهیم داد؛ آنهم درصورتیکه احراز هویت Socket برای استفاده در نمونه شما لازم نباشد.
از آنجا، میتوانید Y را وارد کنید و سپس با فشردن Enter، پیشفرضها را برای تمام سؤالات بعدی بپذیرید. با این کار، برخی از کاربران ناشناس و پایگاه داده آزمایشی حذف و ورودیهای Remote Root غیرفعال و این قوانین جدید بارگیری میشوند تا MariaDB تغییرات اعمالشده را فوراً اجرا کند.
با این کار، پیکربندی امنیت اولیه MariaDB را بهپایان رساندهاید. مرحله بعدی، مرحلهای اختیاری است؛ هرچند اگر ترجیح میدهید با رمزعبور در سرور MariaDB خود احراز هویت شوید، باید آن را دنبال کنید.
بررسی کامل و مفصل phpMyAdmin و نسخههای مختلف ارائه شده از آن.
مرحله 3. ایجاد کاربر Administrative که از احراز هویت با رمزعبور استفاده میکند (اختیاری)
در سیستمهای اوبونتو که MariaDB 10.3 را اجرا میکنند، کاربر root MariaDB بهطور پیشفرض و نه با رمزعبور، با استفاده از افزونه unix_socket احراز هویت میشود. این امر بیشتر اوقات امنیت و قابلیت استفاده بیشتری را فراهم میکند؛ اما گاهی اوقات که به اجازهدادن به برنامه خارجی (مثلاً phpMyAdmin) با مجوز Administrative نیاز دارید، میتواند شرایط را پیچیدهتر کند.
ازآنجاکه سرور از حساب root برای کارهایی مانند log rotation و راهاندازی و توقف سرور استفاده میکند، بهتر است جزئیات احراز هویت حساب root را تغییر ندهید. تغییر اعتبار در فایل پیکربندی /etc/mysql/debian.cnf ممکن است در ابتدا کار کند؛ اما بهروزرسانیهای پکیج میتوانند بهطور بالقوه این تغییرات را بازنویسی کنند.
بهجای تغییر حساب root، نگهدارندگان پکیج (Package Maintainers) توصیه میکنند حساب Administrative جداگانهای برای دسترسی مبتنیبر رمزعبور ایجاد کنید. برای این منظور، حساب کاربری جدیدی به نام admin با همان قابلیتهای حساب کاربری root ایجاد میکنید؛ اما در اینجا برای احراز هویت رمزعبور پیکربندی شده است. در مرحله بعد، به روش زیر MariaDB را از ترمینال خود بهسرعت باز کنید:
$ sudo mariadb
سپس، کاربری جدید با ویژگی root و دسترسی مبتنیبر رمزعبور ایجاد کنید. حتماً نام کاربری و رمزعبور را تغییر دهید تا با تنظیمات ایجادشده برنامه شما مطابقت داشته باشد:
GRANT ALL ON *.* TO ‘admin’@’localhost’ IDENTIFIED BY ‘password’ WITH GRANT OPTION;
برای اطمینان از ذخیره و دردسترسبودن آنها در session جاری، امتیازها را پاک (Flush 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 که یک کلاینت است و به شما امکان اجرای دستورهای Administrative را میدهد، میتوانید به پایگاه داده متصل شوید. بهعنوان مثال، این کامند میگوید که با استفاده از سوکت Unix بهعنوان 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
اگر جداگانه کاربر Administrative دیگری را با احراز هویت ازطریق رمزعبور مدنظرتان پیکربندی کردهاید، با تایپکردن دستور زیر، همان عملیات را میتوانید برای آن نیز انجام دهید:
$ mysqladmin -u admin -p version
این بدانمعناست که MariaDB راهاندازی شده است و کاربر شما با موفقیت میتواند احراز هویت کند.
مقالهی زیر آموزش تنظیم و پیکرهبندی وبسرور است در CWP
جمعبندی
در این مقاله آموزش لینوکس از سری مقالات آموزش سیستم عامل وبلاگ پارسپک آموزشی داشتیم جهت نصب سیستم مدیریت پایگاه داده ارتباطی MariaDB و ایمنسازی آن بوسیله اسکریپت mysql_secure_installation.
همچنین، کاربر Administrative جدیدی ایجاد کردیم که قبل از آزمایش عملکرد سرور 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 هنوز جایگزینی حذفی است.