در ادامه مطالب آموزش CentOs 7 در آذرآنلاین با مطلب نصب MySQL روی سرور CentOS 7 با ما همراه باشید.
MySQL یک سیستم مدیریت دیتابیس متن باز است که معمولا به عنوان بخشی از استک LEMP یا LAMP نصب میشود و برای مدیریت دیتا از دیتابیس رابطهای از زبان SQL استفاده میکند.
حال در این آموزش به بررسی نصب MySQL روی سرور CentOS 7 خواهیم پرداخت.
نصب MySQL روی سرور CentOS 7
مراحل نصب MySQL روی سرور CentOS 7
گام اول: نصب MySQL
سرور CentOS 7 بصورت پیشفرض دیتابییس MariaDB را به بعنوان سیستم مدیریت دیتابیس نصب میکند. MariaDB توسط توسعه دهندگان MySQL مدیریت میشود و بعنوان جایگزین برای MySQL طراحی شده است.
اگر در سرور CentOS 7 دستور yum install mysql را اجرا کنید چیزی که نصب خواهد شد MariaDB میباشد نه MySQL.
حال اگر شما به بررسی تفاوت این دو سیستم مدیریت دیتابیس بپردازید خواهید دید که MariaDB بصورت کامل تمام وظایف MySQL را انجام میدهد ولی در صورتی که نیاز به نصب MySQL روی سرور CentOS 7 دارید میتوانید این آموزش را مطالعه نمایید.
- برای نصب MySQL روی سرور CentOS 7 نیاز به مراجعه به مخزن Yum شرکت MySQL داریم که بستههای لازم برای نصب MySQL را فراهم میکند.
حال بر روی لینک زیر کلیک کنید.
- در آدرس فوق نسخه MySQL مورد نظر خود را یافته و روی دکمه Download کلیک نمایید.
نکته 1: با کلیک روی دکمه Download بصورت مستقیم دانلود شروع نشده و بجای آن به صفحه جدیدی ریدایرکت خواهید شد که از شما درخواست ایجاد حساب کاربری و یا لاگین به حساب کاربری خواهد شد. اگر نمیخواهید حسابی ایجاد کنید میتوانید روی متن No thanks, just start my download کلیک کرده و شروع به دانلود نموده و یا لینک دانلود را کپی کنید و یا میتوانید از دستورات زیر استفاده کرده و نسخه موجود در دستورات را با نسخه خود جایگزین نمایید.
در این آموزش ما نسخه 5.7 با نام mysql57-community-release-el7-11.noarch.rpm را دانلود و نصب مینماییم.
- با دستور زیر نسخه مورد نظر را دانلود نمایید.
wget https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm
نکته 2: برای دانلود نسخه مورد نظر میتوانید نام آن را در دستور فوق جایگزین نمایید.
- بعد از دانلود و ذخیره بسته rpm برای بررسی یکپارچگی و صحت فایل دانلود شده از دستور md5sum استفاده کرده و خروجی دستور را با مقدار MD5 مربوط به این فایل در سایت دانلود مقایسه کنید که باید دارای مقدار یکسانی باشند.
md5sum mysql57-community-release-el7-11.noarch.rpm
- خروجی دستور فوق بصورت زیر میباشد.
c070b754ce2de9f714ab4db4736c7e05 mysql57-community-release-el7-11.noarch.rpm
- پس از مشاهده و اطمینان از صحت MD5 فایل خود به ادامه نصب MYSQL در Centos 7 بپردازید.
sudo rpm -ivh mysql57-community-release-el7-11.noarch.rpm
دستور فوق مخازن لازم برای نصب MySQL را به لیست مخازن yum اضافه مینماید که برای نصب MySQL روی CentOS 7 میتوانید از این مخازن استفاده نماییم.
sudo yum install mysql-server
- کلید y را برای تایید ادامه نصب فشار دهید. حالا که بسته را اضافه کردهاید از شما درخواست تایید کلید GPG بسته خواهد شد.
برای دانلود کلید GPG دکمه y در کیبورد را فشار دهید تا فرایند نصب کامل شود.
گام دوم: استارت کردن MySQL
برای استارت کردن سرویس MySQL از دستور زیر استفاده میشود.
sudo systemctl start mysqld
دستور systemctl خروجی تمامی دستورات مدیریتی را نشان نمیدهد. پس برای اطمینان از استارت شدن سرویس MySQL از دستور زیر استفاده نمایید.
sudo systemctl status mysqld
اگر MySQL با موفقیت اجرا شده باشد باید خروجی دستور دارای مقدار (Active: active (running بوده و خط آخر باید شبیه خط زیر باشد.
Nov 29 02:00:20 centos-512mb-sfo2-02 systemd[1]: Started MySQL Server.
نکته 3: MySQL بصورت پیشفرض در زمان بوت سیستم اجرا میشود برای تغییر این رفتار پیشفرض، میتوانید از دستور زیر استفاده نمایید.
sudo systemctl disable mysqld
در زمان نصب برای کاربر root سرویس MySQL پسورد موقتی ایجاد میشود با دستور زیر میتوانید این پسورد را در فایل mysqld.log پیدا کنید.
sudo grep 'temporary password' /var/log/mysqld.log
خروجی:
2017-11-29T07:00:14.342574Z 1 [Note] A temporary password is generated for root@localhost: Sk<>lfcgQ7Tx
این پسورد را یادداشت نمایید چون در مرحله بعدی نیاز خواهد شد. سیاست پسورد پیشفرض در MySQL به اینصورت میباشد که پسورد با طول حداقل 12 کاراکتر و دارای حداقل یک کاراکتر با حرف بزرگ، یک کاراکتر با حرف کوچک، یک کاراکتر عددی و یک کاراکتر خاص .
گام سوم: کانفیگ MySQL
MySQL دارای اسکریپت امنیتی برای تغییر برخی از گزینههای پیشفرض است که در ادامه به تنظیم و مراحل آن خواهیم پرداخت.
برای اجرای اسکریپت امنیتی دستور زیر را وارد کنید.
sudo mysql_secure_installation
این دستور از شما پسورد پیشفرض کاربر root سرویس MySQL خواهد خواست.
خروجی اجرای اسکریپت بصورت زیر میباشد.
Securing the MySQL server deployment.
Enter password for user root:
پسوردی مطابق با پالیسی پیشفرض که قبلا ذکر شد را وارد نموده و مجدداً تایپ نمایید.
نکته 4: اگر پسورد جدید با سیاست تعریف شده پیشفرض مطابق نباشد خطای زیر رخ میدهد.
... Failed! Error: Your password does not satisfy the current policy requirements
بعد از وارد کردن پسورد پاسخی در مورد قوی بودن پسورد خود خواهید گرفت و مجدداً سوال خواهد شد که آیا میخواهید پسورد را تغییر دهید در پاسخ No نوشته و کلید Enter را فشار دهید.
Estimated strength of the password: 100
Change the password for root ? ((Press y|Y for Yes, any other key for No) :
پس از این سوال به تمامی سوالها پاسخ y میدهیم و کلید Enter را فشار میدهیم. این سوال ها شامل حذف کاربران ناشناس، غیرفعال سازی لاگین ریموت کاربر root ، حذف دیتابیس های تست و لود مجدد جداول privilege میباشد.
بعد از پایان نصب MySQL روی CentOS 7 به تست آن میپردازیم.
گام چهارم: تست MySQL
برای بررسی صحت نصب و دریافت اطلاعات در مورد MySQL میتوانید از ابزار mysqladmin استفاده نمایید. این ابزار اجازه اجرای دستورات مدیریتی را فراهم کرده و برای اتصال به MySQL با کاربر روت (u root-) و لاگین با پسورد (p-) و دیدن نسخه MySQL میتوانید از دستور زیر استفاده نمایید
mysqladmin -u root -p version
باید خروجی مشابه خروجی زیر را مشاهده کنید.
خروجی:
mysqladmin Ver 8.42 Distrib 5.7.20, for Linux on x86_64
Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Server version 5.7.20
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/lib/mysql/mysql.sock
Uptime: 10 min 48 sec
Threads: 1 Questions: 13 Slow queries: 0 Opens: 113 Flush tables: 1 Open tables: 106 Queries per second avg: 0.020
این خروجی نشان دهنده این است که نصب MySQL 5.7 روی سرور CentOS 7 شما با موفقیت انجام شده است.
در این آموزش به نصب MySQL 5.7 روی سرور CentOS 7 پرداخته و با دستورات بعدی که توضیح داده شد به ایمن سازی آن پردازیختیم در آموزشهای بعدی در مورد نحوه استفاده از این سرویس را شرح خواهیم داد.
کاربر گرامی شما میتوانید سؤالات مربوط به این آموزش را در بخش کامنتها عنوان کرده و در همین قسمت پاسخ خود را دریافت کنید.