
روش نصب mariadb روی سیستم عامل Ubuntu 20.04
این مقاله نحوه نصب 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، یک کاربر جدید ایجاد کنید که از احراز هویت رمز عبور استفاده میکند.