نصب ماریا دی بی روی اوبونتو ۲۲.۰۴ چگونه است؟ آیا با مراحل آموزش نصب MariaDB آشنایی دارید؟
ماریا دی بی (MariaDB) یک پایگاه داده رایگان و منبعباز است که ابتدا در سال ۲۰۰۹ توسعه یافت. این ابزار میتواند جایگزینی برای MySQL باشد. MariaDB به زبانهای C ،C++ ،Perl و Bash نوشته شده است.
در این مقاله آموزشی از بلاگ ابر زس قصد داریم به آموزش نصب MariaDB بهصورت گامبهگام روی سیستمعامل اوبونتو 22.04 بپردازیم.
نسخه کوتاه آموزش نصب ماریا دی بی شامل این سه مرحله است:
- پکیج ایندکس خود را با استفاده از دستور
apt
بهروزرسانی کنید. - پکیج
mariadb-server
را با استفاده ازapt
نصب کنید. این پکیج ابزارهای مورد نیاز برای برای تعامل با MariaDB را ارائه میکند. - برای محدود کردن دسترسی به سرور، اسکریپت امنیتی
mysql_secure_installation
را اجرا کنید.
sudo apt update sudo apt install mariadb-server sudo mysql_secure_installation
پیشنیازها:
برای دنبال کردن آموزش نصب ماریا دی بی به سروری نیاز دارید که اوبونتو ۲۲.۰۴ را اجرا کند. این سرور باید یک یوزر غیر روت داشته باشد و یک فایروال UFW (ابزار ساده و پیشفرض اوبونتو برای پیکربندی فایروال) برای آن پیکربندی شده باشد.
مرحله اول: نصب MariaDB
در این مقاله، ریپازیتوری APT پیشفرض اوبونتو ۲۲.۰۴ شامل نسخه 10.5.12 MariaDB است.
برای نصب ماریا دی بی، ابتدا باید پکیج را در سرور خود با استفاده از apt
بهروزرسانی کنید:
sudo apt update
سپس با استفاده از دستور زیر بسته یا پکیج را نصب کنید:
sudo apt install mariadb-server
این دستورات MariaDB را نصب میکنند، اما در این مرحله از شما خواسته نمیشود که رمز عبور تعیین کنید یا تغییراتی در پیکربندی انجام دهید. ازآنجاییکه پیکربندی پیشفرض، نصب MariaDB را ناامن میکند، از اسکریپتی استفاده کنید که پکیج mariadb-server
را برای محدود کردن دسترسی به سرور و حذف حسابهای استفاده نشده فراهم میکند.
مرحله دوم: پیکربندی 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, you'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):
از شما پرسیده میشود که آیا میخواهید به احراز هویت سوکت یونیکس (unix socket authentication) سوئیچ کنید. ازآنجاییکه از قبل یک حساب روت محافظت شده دارید، میتوانید این مرحله را نادیده بگیرید. حرف n
را تایپ کرده و سپس ENTER
را فشار دهید.
Output
. . .
Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.
You already have your root account protected, so you can safely answer 'n'.
Switch to unix_socket authentication [Y/n] n
درخواست بعدی از شما میپرسد که آیا میخواهید رمز عبور روت پایگاه داده را ایجاد کنید یا خیر. در اوبونتو، اکانت روت برای 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
به این نکته دقت کنید، درصورتیکه احراز هویت سوکت برای استفاده شما مناسب نبود، میتوانید یک اکانت administrative دیگر برای دسترسی با رمز عبور ایجاد کنید. در مرحله بعد در این مورد توضیح میدهیم.
در نهایت میتوانید حرف Y
و سپس ENTER
را فشار دهید تا تمامی پیشفرضها را برای سؤالات بعدی بپذیرید. با این کار برخی از کاربران ناشناس و پایگاه داده آزمایشی حذف و لاگینهای از راه دور روت غیرفعال شده و قوانین جدید بارگیری میشود تا MariaDB فوراً تغییراتی را که ایجاد کردهاید، پیادهسازی کند.
اکنون در این مرحله از آموزش نصب ماریا دی بی، پیکربندی امنیتی اولیه به پایان میرسد. گام بعدی، یک مرحله اختیاری است، البته اگر ترجیح میدهید با یک رمز عبور به سرور MariaDB احراز هویت کنید، باید آن را انجام دهید.
جهت مطالعه بیشتر اینجا بخوانید: در سیستمهای اوبونتو که MariaDB 10.5 را اجرا میکنند، یوزر روت MariaDB به طور پیشفرض، به جای رمز عبور، با استفاده از پلاگین دقت کنید که سرور از اکانت روت برای مواردی مانند گردش لاگ، راهاندازی و توقف سرور استفاده میکند، به همین دلیل بهتر است جزئیات احراز هویت اکانت روت را تغییر ندهید. تغییر گواهینامهها در فایل پیکربندی برای این منظور، یک حساب کاربری جدید به نام admin با همان قابلیتهای اکانت root اما برای احراز هویت از طریق رمز عبور ایجاد کنید. برای انجام این کار ابتدا prompt ماریا دی بی را باید از ترمینال خود باز کنید: سپس با استفاده از دستور زیر، یک کاربر جدید با امتیازات روت و دسترسی مبتنی بر رمز عبور ایجاد کنید. حتماً نام کاربری و رمز عبور را تغییر دهید تا با تنظیمات شما مطابقت داشته باشد: برای اطمینان از ذخیره و دردسترسبودن سطوح دسترسی در نشست فعلی، در current session، آنها را فلاش کنید: سپس از دستور زیر برای خارج شدن از shell ماریا دی بی استفاده کنید: در نهایت نصب ماریا دی بی را آزمایش کنید. در فرایند نصب MariaDB هنگامی که دیتابیس از ریپازیتوری پیشفرض نصب شد، به طور خودکار اجرا میشود؛ به همین دلیل باید وضعیت آن را بررسی و تست کنید: اکنون خروجی مشابه موارد زیر را دریافت خواهید کرد: دقت کنید که اگر MariaDB در حال اجرا نیست، میتوانید آن را با دستور برای بررسی بیشتر، میتوانید با استفاده از ابزار در نهایت خروجی زیر را دریافت خواهید کرد و مراحل نصب ماریا دی بی به اتمام میرسد. در این مقاله به آموزش نصب ماریا دی بی، سیستم مدیریت پایگاهداده رابطهای پرداختیم. ابتدا شما را با مراحل نصب MariaDB آشنا کرده و سپس با استفاده از اسکریپت همچنین یاد گرفتید که چگونه میتوانید یک یوزر Administrative ایجاد کنید که از احراز هویت رمز عبور استفاده میکند. اکنون شما یک سرور MariaDB در حال اجرا و ایمن دارید. در صورتی که نیاز دارید ماریادیبی با خرید سرور ابری شما نصب شود، میتوانید با ابر زَس در ارتباط باشید تا تحت «سرویس مدیریت شده» دیتابیس شما را راهاندازی کرده و تحویلتان دهیم.مرحله سوم (اختیاری): ایجاد یک یوزر Administrative که از احراز هویت رمز عبور استفاده میکند
unix_socket
احراز هویت میشود. این امر در بسیاری از موارد امنیت و قابلیتهای استفاده بیشتر را فراهم میکند، اما میتواند در مواردی که نیاز به امتیازات مدیریتی برای اجازه دادن به یک برنامه خارجی (مانند phpMyAdmin) را دارید، شرایط را پیچیدهتر کند./etc/mysql/debian.cnf
ممکن است در ابتدا کار کند، اما بهروزرسانیهای پکیج میتوانند این تغییرات را بازنویسی کنند. بهجای تغییر اکانت روت، پیشنهاد میشود یک اکانت جداگانه administrative برای دسترسی مبتنی بر رمز عبور ایجاد کنید.sudo mariadb
MariaDB [(none)]> GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit
مرحله چهارم – تست نصب ماریا دی بی
sudo systemctl status mariadb
Output
● mariadb.service - MariaDB 10.5.12 database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2023-03-11 22:01:33 UTC; 16min ago
Docs: man:mariadbd(8)
https://mariadb.com/kb/en/library/systemd/
. . .
sudo systemctl start mariadb
اجرا کنید.mysqladmin
که یک کلاینت است و به شما امکان اجرای دستورات مدیریتی را میدهد، به پایگاه داده متصل شوید. بهعنوانمثال، این دستور میگوید که با استفاده از سوکت یونیکس بهعنوان root به MariaDB متصل شوید و نسخه را برگردانید:sudo mysqladmin version
Output
mysqladmin Ver 9.1 Distrib 10.5.12-MariaDB, for debian-linux-gnu on x86_64
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Server version 10.5.12-MariaDB-1build1
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /run/mysqld/mysqld.sock
Uptime: 22 min 12 sec
Threads: 1 Questions: 482 Slow queries: 0 Opens: 171 Open tables: 28 Queries per second avg: 0.505
جمعبندی
mysql_secure_installation
آن را ایمن کردیم.