آموزش نصب و پیکربندی پایگاه داده MySQL در CentOS 8
اگر برای مدیریت پایگاه داده خود در CentOS 8، دیتابیس رابطه ای MySQL را انتخاب کرده اید، باید علاوه بر مراحل نصب، به فکر پروسه پیکربندی و ایمن سازی آن هم باشید تا در کنار دستیابی به بازده موردنظر، از داده ها و اطلاعات خود در برابر حملات هکری محافظت کنید.
نصب MySQL در CentOS 8 باعث می شود اطلاعات را به شیوه منظم تر و امن تری مدیریت کنید و این کار به به ارتقا عملکرد سرور مجازی یا سرور اختصاصی لینوکس شما کمک می کند.
اگر با خرید سرور مجازی لینوکس یا سرور اختصاصی با سیستم عامل CentOS 8، پیش نیاز اصلی نصب MySQL در CentOS 8 را فراهم کرده اید، نصف مسیر را طی کرده اید. بعد از آن کافیست که مراحل نصب، پیکربندی و ایمن سازی ارائه شده در این مقاله را به دقت انجام دهید تا بتوانید با اطمینان کامل از پایگاه داده MySQL استفاده کنید:
پیش نیازهای اصلی MySQL
MySQL به عنوان یکی از محبوب ترین سیستم های مدیریت پایگاه داده در دنیای برنامه نویسی به جایگاه ویژه ای رسیده است و این محبوبیت، نتیجه ویژگی های فوق العاده ای مثل رایگان بودن، رابط کاربری قوی، دسترسی چندکاربره به دیتابیس، نشت حافظه کم و ویژگی های امنیتی است ولی برای نصب این سیستم نیازی به پیش نیازهای حساس و زیاد ندارید.
یک سرور با سیستم عامل CentOS 8 اصلی ترین نیازمندی نصب MySQL است. بعد، با امتیازات حساب کاربری Sudo می توانید به کرنل دسترسی پیدا کرده و مراحل نصب و پیکربندی MySQL را شروع کنید.
مراحل نصب MySQL در CentOS 8
در صورت دسترسی ریموت به سرور خود، اولین کاری که باید انجام دهید این است که با استفاده از SSH وارد سرور CentOS خود شوید. بعد از باز کردن ترمینال سرور، مراحل زیر را طی کنید.
* ما در این آموزش از dnf استفاده کرده ایم ولی در صورت تمایل می توانید از yum هم استفاده کنید.
1.سیستم را آپدیت کنید.
با اجرای دستورات زیر، هم مخازن سیستم را آپدیت کنید و هم بروزسانی ها و اصلاحات امنیتی را در سیستم لینوکس خود اعمال کنید:
sudo dnf update
2.بسته mysql-server را نصب کنید.
CentOS 8 به طور پیش فرض از 8 MySQL پشتیبانی می کند و برای دانلود و نصب آن کافی است دستور زیر را وارد کنید:
sudo dnf install mysql-server
خروجی این دستور به صورت زیر خواهد بود:
Install 49 Packages
Total download size: 46 M
Installed size: 252 M
Is this ok [y/N]:
همانطور که می بینید، 49 پکیج نصب می شود پس این دستور علاوه بر خود پکیج MySQL، تمام وابستگی های آن راهم نصب می کند. پس برای نصب کامل همه پکیج ها، y را بزنید.
3.MySQL را فعال کنید.
با اجرای دستور بالا MySQL روی سیستم نصب می شود ولی برای شروع اجرای آن باید دستور زیر را هم اجرا کنید:
sudo systemctl start mysqld.service
بعد، وضعیت اجرای آن را بررسی کنید:
sudo systemctl status mysqld
اگر MySQL با موفقیت نصب و فعال شده باشد، بخش Active خروجی به صورت زیر خواهد بود:
Active: active (running) since Thu 2023-01-5 14:07:41 UTC; 1min 7s ago
قبل از اینکه وارد مراحل ایمن سازی کنیم، بهتر است دو دستور کاربردی زیر را هم بررسی کنیم:
اگر به فکر این هستید کاری کنید که با هر بار ریبوت یا اجرای سرور، MySQL هم به صورت خودکار اجرا شود، دستور زیر را وارد کنید:
sudo systemctl enable mysqld
اگر به هر دلیلی خواستید این قابیلت اجرای خودکار MySQL در CentOS 8 را غیرفعال کنید، کافیست دستور زیر را اجرا کنید:
sudo systemctl disable mysqld
اکنون که مراحل نصب و اجرا تمام شد، نوبت به بخش امنیتی می رسد. برای ایمن سازی پایگاه داده MySQL در CentOS 8 مراحل زیر را دنبال کنید.
پیکربندی بخش امنیتی MySQL در CentOS 8
MySQL مجهز به یک اسکریپت امنیتی است که با استفاده از آن می توانید برخی از گزینه های امنیتی پیش فرض را تغییر دهید.
* رمز عبور یکی از این گزینه های امنیتی است که نسخه های قدیمی بدون رمز هستند ولی در نسخه های 8 MySQL به بالا رمز عبور به طور تصادفی تنظیم می شود. اگر می خواهید رمز عبور خود را ببینید می توانید از دستور زیر استفاده کنید:
grep 'temporary password' /var/log/mysqld.log
با اجرای دستور زیر به تمام پکیج های لازم برای ایمن سازی MySQL دسترسی پیدا می کنید:
sudo mysql_secure_installation
در واقع، mysql_secure_installation همان رابطی است که برای دسترسی به اسکریپت امنیتی MySQL لازم دارید. با این دستور می توانید تنظیمات مهمی مثل رمز عبور کاربر روت، حذف کاربران ناشناس، حذف مجوز ورود به سیستم روت و … را تغییر دهید.
خروجی این دستور با شما تعامل برقرار می کند و از شما درخواست می کند که با گزینه های موردنظر، سطح امنیت پایگاه داده را ارتقا دهید. این درخواست ها به صورت زیر هستند:
1. تنظیم رمز عبور
Press y|Y for Yes, any other key for No:Please set the password for root here. New password: Re-enter new password:
2. حذف کاربران ناشناس
Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
3. غیرفعال سازی امکان دسترسی ریموت به حساب کاربری روت
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
4. حذف پایگاه داده پیش فرض MySQL به اسم test
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y
5. بارگذاری مجدد جدول امتیازات
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y
با اجرای این دستور، دیگر کارتان با این اسکریپت امنیتی تمام شده است. مطمئن باشید با مقداردهی درست و هوشمندانه هر کدام از آنها، مانع هر گونه خطر و حمله هکری خواهید شد.
تست نحوه کار با MySQL
برای این که کار کردن با این پایگاه داده را شروع کنید اول باید وارد MySQL شوید. پس دستور زیر را اجرا کنید:
mysqladmin -u root -p version
بعد از وارد کردن رمز عبور، خط فرمان مربوط به MySQL باز می شود که دستورات موردنظر مثل ایجاد پایگاه داده و جدول، آپدیت رکوردها و … در این بخش وارد می شود.
چند نمونه از دستورات پرکاربرد:
#ایجاد پایگاه داده asamDB
mysql> CREATE DATABASE asamDB;
#ایجاد کاربر جدید به اسم asamDB_User
mysql> CREATE USER asamDB_User @'localhost' IDENTIFIED BY 'password';
#ارائه همه مجوز های پایگاه داده asamDB به کاربر asamDB_User
mysql> GRANT ALL ON asamDB.* to asamDB_User @'localhost';
کلام آخر
MySQL نقش مهمی در دنیای برنامه نویسی دارد و به خاطر امنیت، سرعت و عملکرد بالایی که دارد توسط اکثر برنامه نویسان ترجیح داده می شود. نصب MySQL در CentOS 8 طی چند دستور ساده انجام می شود ولی موقع نصب MySQL به هیچ وجه نباید بی تفاوت از کنار مراحل امنیتی رد شوید چون اطلاعات شما در پایگاه داده حساس هستند و باید به فکر محافظت از آنها باشید.
از اینکه تا انتهای مقاله با ما همراه بودید، از شما متشکریم. امیدواریم که مطالعه این مقاله برای شما مفید واقع شده باشد. در صورت داشتن هرگونه سوال، درخواست و نیاز به راهنمایی، می توانید با ثبت نظر خود، با ما وارد ارتباط شوید تا هر چه زودتر به شما پاسخ دهیم.
سوالات متداول:
بعد از اعمال تغییرات در ویژگی ها امنیتی نیازی به ری استارت است؟
بله، برای اینکه این تغییرات اعمال شوند باید سرویس را ری استارت کنید که دستور آن به صورت زیر است:
service mysqld restart