MariaDB یک سیستم مدیریت پایگاه داده رابطهای (RDBMS) است که از آن به عنوان جایگزین متن باز MySQL یاد میشود. این پایگاه داده در واکنش به نگرانیها در مورد خرید MySQL توسط شرکت Oracle توسعه یافت و اولین بار در سال ۲۰۰۹ منتشر شد. MariaDB توسط برخی از همان افرادی که MySQL را ایجاد کرده بودند، توسعه یافته است و به دلیل تمرکز بر امنیت و عملکرد، به یکی از محبوبترین گزینهها در میان سیستمهای مدیریت پایگاه داده متنباز تبدیل شده است.
ما در این مقاله قصد داریم تا نحوه نصب آخرین نسخه MariaDB بر روی راکی لینوکس را توضیح دهیم.
پیش نیازهای راه اندازی MariaDB
برای نصب و راهاندازی MariaDB به این موارد نیاز دارید:
• ماشینی که راکی لینوکس را اجرا میکند.
• آشنایی با دستورات خط فرمان.
• تسلط به ویرایشگر ویم (vi).
• امکان ورود به عنوان root یا اجرای دستورات root با sudo.
• آشنایی با نحوه کارکرد دیتابیس mariaDB مفید خواهد بود.
نحوه نصب mariadb-server
در قدم اول، شما میبایست mariadb-server را با استفاده از کامند زیر نصب نمایید:
dnf install mariadb-server
ایمن سازی mariadb-server
برای افزایش امنیت سرور mariadb-server باید یک اسکریپت اجرا کنید، اما قبل از این کار، باید MariaDB را فعال و راه اندازی نمایید:
systemctl enable mariadb
سپس این کامند را وارد نمایید:
systemctl start mariadb
در قدم بعدی این کامند را اجرا کنید:
mysql_secure_installation
نکته مهم
نسخه mariadb-server که به طور پیش فرض در راکی لینوکس 8.5 فعال می شود، 10.3.32 است. شما میتوانید نسخه 10.5.13 را با فعال کردن این ماژول نصب نمایید:
dnf module enable mariadb:10.5
و سپس اقدام به نصب MariaDB کنید.
در نسخه 10.4.6 MariaDB، دستورات خاصی برای آن در نظر گرفته شدهاند که میتوانید از آنها به جای دستورات mysql قدیمی استفاده نمایید. برای مثال در نسخه جدید به جای mysql_secure_installation میتوان mariadb-secure-installation را فراخوانی کرد.
باید در خروجی این متن به شما نمایش داده شود:
از آنجایی که شما در حال نصب MariaDB برای اولین بار هستید، پسورد root برای آن تنظیم نشده است. پس فقط در اینجا دکمه اینتر (Enter) را بزنید.
در قدم بعدی، شما میبایست این متن را مشاهده فرمایید:
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]
شما در این مرحله باید رمز عبور root را تعریف نمایید تا بتوانید آن را به صورت مستند شده در جایی ذخیره کنید و در صورت نیاز به آن دسترسی پیدا نمایید. پس از وارد کردن «Y» باید این متن را مشاهده کنید و پسورد مورد نظر خود را وارد کنید:
New password:
Re-enter new password:
پس از آن، این متن را مشاهده خواهید نمود:
Password updated successfully!
Reloading privilege tables..
... Success!
به طور پیشفرض، با نصب MariaDB یک کاربر ناشناس نیز تعریف میشود تا بدون نیاز به ایجاد حساب، بتوان وارد MariaDB شد. توصیه میکنیم پیش از استفاده عملیاتی، این کاربر را حذف نمایید.
در پاسخ به این سوال "Y" را وارد نمایید:
به طور معمول، root فقط باید از «localhost» اجازه دسترسی داشته باشد.
همچنین در نظر داشته باشید که نباید امکان حدس رمز عبور root از شبکه امکان پذیر باشد.
سپس به بخش مربوط به اجازه دادن به کاربر root برای دسترسی ریموتی هدایت میشوید:
دسترسی به root تنها باید به صورت لوکالی روی ماشین امکان پذیر باشد. بنابراین در پاسخ به این سوال «Y» را وارد کنید.
در قدم بعدی به دیتابیس "test" خواهید رفت. این دیتابیس همزمان و بصورت خودکار با mariadb-database نصب میشود:
مجدداً، در پاسخ به این سوال «Y» را وارد کنید.
در نهایت، این سوال از شما پرسیده خواهد شد که آیا میخواهید دسترسیها را مجدداً بارگیری کنید یا خیر.
بارگیری مجدد جداول دسترسیها تضمین میکند که تمامی تغییرات ایجاد شده بلافاصله اعمال میشوند.
شما باید مجدداً در پاسخ به این سوال «Y» را وارد نمایید.
پس از طی کردن تمامی این مرحل، شما قادر به استفاده از MariaDB خواهید بود.
راکی لینوکس 9.0 از mariadb-server-10.5.13-2 به عنوان نسخه پیش فرض mariadb-server استفاده می کند. در نسخه 10.4.3، افزونه جدید احراز هویت unix-socket به طور خودکار روی سرور فعال میشود که دیالوگ mariadb-secure-installation را تغییر می دهد. اساساً، با استفاده از افزونه احراز هویت unix-socket از اطلاعات لاگین کاربر برای دسترسی به دیتابیس استفاده میشود. این باعث می شود که برای مثال، اگر کاربر root وارد سیستم شود و سپس از mysqladmin برای ایجاد یا حذف پایگاه داده (یا هر عملی دیگر) استفاده کند، به رمز عبور نیاز نداشته باشد. این موضوع در mysql نیز صدق میکند.
در حین نصب mariadb-secure، پس از تنظیم رمز عبور این سوال از شما پرسیده خواهد شد:
Switch to unix_socket authentication Y/n
در اینجا باید «Y» را وارد نمایید، اما حتی اگر در پاسخ "n" را تایپ کنید، با فعال بودن افزونه، رمز عبور از کاربر خواسته نمیشود. البته شما می توانید آن را نیز تغییر دهید:
mysql
MariaDB [(none)]>
mysql -p
Enter password:
MariaDB [(none)]>
در آینده اطلاعات بیشتری در مورد این افزونه و نحوه خاموش کردن آن به شما خواهیم داد.
سخن آخر
از mariadb-server میتوان در زمینه های مختلفی استفاده نمود. به دلیل محبوبیت بسیار زیاد سیستم مدیریت محتوا وردپرس، دیتابیس MariaDB انتخابی مناسب محسوب میشود. به یاد داشته باشید که قبل از استفاده از دیتابیس، امنیت آن را به خوبی تقویت کنید.