12 KiB
بسم الله الرحمن الرحیم
نحوه نصب MariaDB در Ubuntu 22.04
معرفی
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
از زمان نگارش این مقاله، مخازن APT پیشفرض اوبونتو 22.04 شامل MariaDB نسخه 10.5.12 است. برای نصب آن، فهرست بسته را در سرور خود با apt به روز کنید:
sudo apt update
سپس بسته را نصب کنید:
sudo apt install mariadb-server
این دستورات MariaDB را نصب میکنند، اما از شما خواسته نمیشود رمز عبور تعیین کنید یا تغییرات دیگری در پیکربندی انجام دهید. از آنجایی که پیکربندی پیشفرض نصب MariaDB شما را ناامن میکند، از اسکریپتی استفاده میکنید که بسته mariadb-server برای محدود کردن دسترسی به سرور و حذف حسابهای استفاده نشده ارائه میکند.
گام دوم - پیکربندی MariaDB
برای نصب های جدید MariaDB، گام بعدی اجرای اسکریپت امنیتی موجود است. این اسکریپت برخی از گزینه های پیش فرض کمتر امن را برای مواردی مانند ورود به سیستم ریشه از راه دور و کاربران نمونه تغییر می دهد.
اسکریپت امنیتی را اجرا کنید:
sudo mysql_secure_installation
این شما را از طریق یک سری دستورات راهنمایی می کند که در آن می توانید برخی تغییرات را در گزینه های امنیتی نصب MariaDB خود ایجاد کنید. اولین اعلان از شما می خواهد که رمز عبور اصلی پایگاه داده فعلی را وارد کنید. از آنجایی که هنوز یکی را تنظیم نکردهاید، ENTER را فشار دهید تا «none» را نشان دهید.
خروجی:
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):
از شما پرسیده می شود که آیا می خواهید به احراز هویت سوکت یونیکس سوئیچ کنید. از آنجایی که از قبل یک حساب ریشه محافظت شده دارید، می توانید از این مرحله صرف نظر کنید. n را تایپ کرده و سپس ENTER را فشار دهید.
خروجی:
. . .
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
بعداً، در صورتی که احراز هویت سوکت برای مورد استفاده شما مناسب نباشد، نحوه راهاندازی یک حساب اداری اضافی برای دسترسی رمز عبور را بررسی خواهید کرد.
از آنجا، میتوانید Y و سپس ENTER را فشار دهید تا پیشفرضها را برای تمام سؤالات بعدی بپذیرید. با این کار برخی از کاربران ناشناس و پایگاه داده آزمایشی حذف میشوند، ورود به سیستم ریشه از راه دور غیرفعال میشود و این قوانین جدید بارگیری میشود تا MariaDB فوراً تغییراتی را که ایجاد کردهاید پیادهسازی کند.
با آن، پیکربندی امنیتی اولیه MariaDB را به پایان رساندید. مرحله بعدی یک مرحله اختیاری است، اگرچه اگر ترجیح می دهید با یک رمز عبور در سرور MariaDB خود احراز هویت شوید، باید آن را دنبال کنید.
گام سوم- (اختیاری) ایجاد یک کاربر اداری که از احراز هویت رمز عبور استفاده می کند
در سیستمهای اوبونتو که MariaDB 10.5 را اجرا میکنند، کاربر root MariaDB بهطور پیشفرض و نه با رمز عبور، با استفاده از افزونه unix_socket احراز هویت میشود. این امر در بسیاری از موارد امنیت و قابلیت استفاده بیشتر را فراهم میکند، اما همچنین میتواند در مواردی که نیاز به اجازه دادن به یک برنامه خارجی (مثلاً phpMyAdmin) حقوق مدیریتی دارید، شرایط را پیچیدهتر کند.
از آنجایی که سرور از حساب ریشه برای کارهایی مانند چرخش گزارش و راهاندازی و توقف سرور استفاده میکند، بهتر است جزئیات احراز هویت حساب ریشه را تغییر ندهید. تغییر اعتبار در فایل پیکربندی /etc/mysql/debian.cnf ممکن است در ابتدا کار کند، اما بهروزرسانیهای بسته به طور بالقوه میتوانند این تغییرات را بازنویسی کنند. به جای تغییر حساب ریشه، نگهدارندگان بسته توصیه می کنند یک حساب اداری جداگانه برای دسترسی مبتنی بر رمز عبور ایجاد کنید.
برای این منظور، یک حساب کاربری جدید به نام admin با همان قابلیتهای اکانت root ایجاد میکنیم، اما برای احراز هویت رمز عبور پیکربندی شده است. درخواست MariaDB را از ترمینال خود باز کنید:
MariaDB [(none)]> sudo mariadb
سپس یک کاربر جدید با حقوق ریشه و دسترسی مبتنی بر رمز عبور ایجاد کنید. حتماً نام کاربری و رمز عبور را تغییر دهید تا با تنظیمات برگزیده شما مطابقت داشته باشد:
MariaDB [(none)]> GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
برای اطمینان از ذخیره و در دسترس بودن آنها در جلسه جاری، امتیازات را پاک کنید:
MariaDB [(none)]> FLUSH PRIVILEGES;
پس از این، از پوسته MariaDB خارج شوید:
MariaDB [(none)]> exit;
در نهایت، اجازه دهید نصب MariaDB را آزمایش کنیم.
مرحله 4 - آزمایش MariaDB
هنگامی که از مخازن پیش فرض نصب می شود، MariaDB به طور خودکار شروع به اجرا می کند. برای تست این، وضعیت آن را بررسی کنید.
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 2022-03-11 22:01:33 UTC; 14min ago
Docs: man:mariadbd(8)
https://mariadb.com/kb/en/library/systemd/
. . .
اگر MariaDB اجرا نمی شود، می توانید آن را با دستور 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: 15 min 53 sec
Threads: 1 Questions: 482 Slow queries: 0 Opens: 171 Open tables: 28 Queries per second avg: 0.505
نتیجه
در این راهنما شما سیستم مدیریت پایگاه داده رابطهای MariaDB را نصب کردید و با استفاده از اسکریپت mysql_secure_installation که با آن نصب شده بود، آن را ایمن کردید. شما همچنین این گزینه را داشتید که یک کاربر اداری جدید ایجاد کنید که از احراز هویت رمز عبور قبل از آزمایش عملکرد سرور MariaDB استفاده می کند.
اکنون که یک سرور MariaDB در حال اجرا و ایمن دارید، در اینجا چند نمونه از مراحل بعدی که می توانید برای کار با سرور بردارید، در اینجا مشاهده کنید:
صلوات