MySQL یک سیستم رایگان و Open Source برای مدیریت دیتابیس (RDBMS) میباشد و تحت لایسنس GNU ( در واقع General Public Licese ) منتشر (Release) شده است. از این سیستم برای راه اندازی چندین دیتابیس روی هر سرور مجزا و همچنین فراهم آوردن دسترسی چند کاربره به هر دیتابیس ایجاد شده استفاده میشود.
در این آموزش مراحل نصب و آپدیت آخرین ورژن MySQL 5.7.9 را با استفاده از ریپازیتوری MySQL Yum و ابزار YUM روی سیستم عامل های RHEL/CentOS 7/6/5 و Fedora 23/22/21 توضیح خواهیم داد.
همچنین توصیه میشود مطالعه کنید :
آموزش نصب LAMP (مخفف Linux, Apache, MySQL/MariaDB, PHP) در Ubuntu 16.04/16.10
آموزش نصب LAMP (مخفف Linux, Apache, MySQL/MariaDB, PHP) در Debian 9
آموزش نصب LAMP (مخفف Linux, Apache, MySQL/MariaDB, PHP) در CentOS/RedHat 7
مرحله یک : اضافه کردن ریپازیتوری MySQL Yum
1 - ما از Repository رسمی mysql yum استفاده خواهیم کرد که پکیج های RPM مورد نیاز برای نصب آخرین ورژن پکیج های MySQL server, client, MySQL Utilities, MySQL Workbench, Connector/ODBC, و Connector/Python در سیستم عامل های لینوکسی RedHat/CentOS 7/6/5 و Fedora 23-21 را فراهم میآورد.
نکته : این دستورالعمل های تنها روی نصب جدید MySQL روی سرور کار میکنند و در صورتی که یک MySQL از قبل نصب شده ( با استفاده از پکیج third-party RPM ) روی سیستم تان موجود باشد به شما پیشنهاد میکنم که آن را با استفاده از ریپازیتوری MySQL Yum آپگرید یا با ورژن جدید جایگزین کنید.
قبل از Upgrade یا جایگزینی ورژن قدیمی مای اسکیول فراموش نکنید که از تمامی دیتابیس های مهم و فایل های کانفیگ Backup بگیرید.
2 - اکنون ریپازیتوری MySQL Yum زیر را به لیست repository سیستم تان با توجه به توزیع لینوکسی مربوطه دانلود و اضافه کنید تا بتوانید آخرین ورژن مای اسکیول (در اینجا ورژن 5.7.9 منتشر شده در 21 October 2015) را نصب کنید.
3 - بعد از دانلود پکیج مناسب برای پلتفرم لینوکس تان اکنون با استفاده از دستورات زیر پکیج دانلود شده را نصب کنید.
دستورات نصبی بالا ریپازیتوری MySQL Yum را به لیست Repository سیستم اضافه میکند و کلید GNU PG را برای بررسی ماهیت پکیج ها دانلود میکند.
4 - شما میتوانید با استفاده از دستور زیر بررسی کنید که آیا ریپازیتوری MySQL Yum با موفقیت به سیستم تان اضافه شده باشد.
مرحله دوم : نصب آخرین ورژن MySQL
5 - آخرین ورژن MySQL که در حال حاضر ورژن 5.7 میباشد را با استفاده از دستور زیر نصب میکنیم.
دستور بالا تمام پکیج های مورد نیاز برای سرور مای اسکیول را نصب میکند :
مرحله سوم : نصب ورژن های مختلف MySQL
6 - همچنین شما میتوانید ورژن متفاوتی از MySQL را با استفاده از ریپازیتوری متفاوتی از MySQL Community Server نصب کنید. این زیر مخزن ( Sub Repository ) برای دیگر ورژن های اخیر MySQL ( در حال حاضر MySQL 5.7 ) به صورت پیش فرض فعال است ولی برای ورژن های دیگر به طور مثال MySQL 5.6 یا 5.5 به صورت پیش فرض غیر فعال هستند.
برای نصب ورژن خاص از زیر مخزن خاص شما میتوانید از آپشن های --enable یا --disable با استفاده از دستورات yum-config-manager یا dnf config-manager همانند زیر استفاده کنید.
مرحله چهارم : Start کردن سرور MySQL
7 - بعد از نصب موفق MySQL زمان آن است که سرور MySQL را با استفاده از دستور زیر استارت کنید :
شما میتوانید وضعیت سرور مای اسکیول را با کمک دستور زیر بررسی کنید.
در زیر نمونه خروجی یک MySQL در حال اجرا روی سیستم CentOS 7 را مشاهده میکنید.
8 - اکنون و در نهایت ورژن MySQL نصب شده را با استفاده از دستور زیر بررسی کنید.
مرحله پنجم : امن کردن محیط MySQL
9 - دستور mysql_secure_installation برای شما امکان امن کردن MySQL تان را با انجام تنظیمات مهمی مانند تعریف پسورد root - حذف کاربران ناشناخته (anonymous users) و حذف Login یوزر root و غیره ممکن میسازد.
نکته : ورژن MySQL 5.7 یا بالاتر بعد از نصب یک پسورد موقتی Random در فایل /var/log/mysqld.log ایجاد میکند.
با استفاده از دستور زیر میتوانید پسورد را قبل از اجرا کردن دستور mysql secure مشاهده کنید.
به محض اینکه شما از پسورد مطلع شدید میتوانید، دستور زیر برای امن کردن محیط MySQL خود اجرا کنید.
نکته : منظور از وارد کردن پسورد جدید root همان پسورد موقتی شما از فایل /var/log/mysqld.log میباشد.
اکنون دستورالعمل تصویری زیر و خروجی دستور بالا را به عنوان مرجع (که به شرح زیر است) با دقت دنبال کنید.
نمونه خروجی
مرحله ششم : اتصال به سرور MySQL
10 - برای اتصال به سرور MySQL جدید باید از دستور زیر استفاده کنیم و username و password مورد نیاز را نیز در دستور لحاظ کنیم.
نمونه خروجی :
مرحله هفتم : آپدیت MySQL با استفاده از Yum
11 - علاوه بر نصب جدید همچنین شما میتوانید MySQL و Component های مربوطه را با کمک دستور زیر Update کنید.
زمانیکه Update های جدید برای MySQL موجود هستند خودش به صورت اتوماتیک آنها را نصب میکند. در غیر این صورت شما پیغام NO packages marked for updates را دریافت خواهید کرد.
اکنون شما MySQL 5.7.9 را با موفقیت روی سیستم تان نصب کردید اگر در حین نصب با هر مشکلی روبه رو شدید آن را در این پست مطرح کنید.
در این آموزش مراحل نصب و آپدیت آخرین ورژن MySQL 5.7.9 را با استفاده از ریپازیتوری MySQL Yum و ابزار YUM روی سیستم عامل های RHEL/CentOS 7/6/5 و Fedora 23/22/21 توضیح خواهیم داد.
همچنین توصیه میشود مطالعه کنید :
آموزش نصب LAMP (مخفف Linux, Apache, MySQL/MariaDB, PHP) در Ubuntu 16.04/16.10
آموزش نصب LAMP (مخفف Linux, Apache, MySQL/MariaDB, PHP) در Debian 9
آموزش نصب LAMP (مخفف Linux, Apache, MySQL/MariaDB, PHP) در CentOS/RedHat 7
مرحله یک : اضافه کردن ریپازیتوری MySQL Yum
1 - ما از Repository رسمی mysql yum استفاده خواهیم کرد که پکیج های RPM مورد نیاز برای نصب آخرین ورژن پکیج های MySQL server, client, MySQL Utilities, MySQL Workbench, Connector/ODBC, و Connector/Python در سیستم عامل های لینوکسی RedHat/CentOS 7/6/5 و Fedora 23-21 را فراهم میآورد.
نکته : این دستورالعمل های تنها روی نصب جدید MySQL روی سرور کار میکنند و در صورتی که یک MySQL از قبل نصب شده ( با استفاده از پکیج third-party RPM ) روی سیستم تان موجود باشد به شما پیشنهاد میکنم که آن را با استفاده از ریپازیتوری MySQL Yum آپگرید یا با ورژن جدید جایگزین کنید.
قبل از Upgrade یا جایگزینی ورژن قدیمی مای اسکیول فراموش نکنید که از تمامی دیتابیس های مهم و فایل های کانفیگ Backup بگیرید.
2 - اکنون ریپازیتوری MySQL Yum زیر را به لیست repository سیستم تان با توجه به توزیع لینوکسی مربوطه دانلود و اضافه کنید تا بتوانید آخرین ورژن مای اسکیول (در اینجا ورژن 5.7.9 منتشر شده در 21 October 2015) را نصب کنید.
کد PHP:
--------------- On RHEL/CentOS 7 ---------------
# wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
کد PHP:
--------------- On RHEL/CentOS 6 ---------------
# wget http://dev.mysql.com/get/mysql57-community-release-el6-7.noarch.rpm
کد PHP:
--------------- On RHEL/CentOS 5 ---------------
# wget http://dev.mysql.com/get/mysql57-community-release-el5-7.noarch.rpm
کد PHP:
--------------- On Fedora 23 ---------------
# wget http://dev.mysql.com/get/mysql57-community-release-fc23-7.noarch.rpm
کد PHP:
--------------- On Fedora 22 ---------------
# wget http://dev.mysql.com/get/mysql57-community-release-fc22-7.noarch.rpm
کد PHP:
--------------- On Fedora 21 ---------------
# wget http://dev.mysql.com/get/mysql57-community-release-fc21-7.noarch.rpm
کد PHP:
--------------- On RHEL/CentOS 7 ---------------
# yum localinstall mysql57-community-release-el7-7.noarch.rpm
کد PHP:
--------------- On RHEL/CentOS 6 ---------------
# yum localinstall mysql57-community-release-el6-7.noarch.rpm
کد PHP:
--------------- On RHEL/CentOS 5 ---------------
# yum localinstall mysql57-community-release-el5-7.noarch.rpm
کد PHP:
--------------- On Fedora 23 ---------------
# dnf localinstall mysql57-community-release-fc23-7.noarch.rpm
کد PHP:
--------------- On Fedora 22 ---------------
# dnf localinstall mysql57-community-release-fc22-7.noarch.rpm
کد PHP:
--------------- On Fedora 21 ---------------
# yum localinstall mysql57-community-release-fc21-7.noarch.rpm
4 - شما میتوانید با استفاده از دستور زیر بررسی کنید که آیا ریپازیتوری MySQL Yum با موفقیت به سیستم تان اضافه شده باشد.
کد PHP:
# yum repolist enabled | grep "mysql.*-community.*"
# dnf repolist enabled | grep "mysql.*-community.*" [On Fedora 22+ versions]
مرحله دوم : نصب آخرین ورژن MySQL
5 - آخرین ورژن MySQL که در حال حاضر ورژن 5.7 میباشد را با استفاده از دستور زیر نصب میکنیم.
کد PHP:
# yum install mysql-community-server
# dnf install mysql-community-server [On Fedora 22+ versions]
کد:
mysql-community-server, mysql-community-client, mysql-community-common and mysql-community-libs
مرحله سوم : نصب ورژن های مختلف MySQL
6 - همچنین شما میتوانید ورژن متفاوتی از MySQL را با استفاده از ریپازیتوری متفاوتی از MySQL Community Server نصب کنید. این زیر مخزن ( Sub Repository ) برای دیگر ورژن های اخیر MySQL ( در حال حاضر MySQL 5.7 ) به صورت پیش فرض فعال است ولی برای ورژن های دیگر به طور مثال MySQL 5.6 یا 5.5 به صورت پیش فرض غیر فعال هستند.
برای نصب ورژن خاص از زیر مخزن خاص شما میتوانید از آپشن های --enable یا --disable با استفاده از دستورات yum-config-manager یا dnf config-manager همانند زیر استفاده کنید.
کد PHP:
# yum-config-manager --disable mysql57-community
# yum-config-manager --enable mysql56-community
کد PHP:
------------------ Fedora 22+ Versions ------------------
# dnf config-manager --disable mysql57-community
# dnf config-manager --enable mysql56-community
مرحله چهارم : Start کردن سرور MySQL
7 - بعد از نصب موفق MySQL زمان آن است که سرور MySQL را با استفاده از دستور زیر استارت کنید :
کد PHP:
# service mysqld start
کد PHP:
# service mysqld status
کد PHP:
Redirecting to /bin/systemctl status mysqld.service
mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled)
Active: active (running) since Thu 2015-10-29 05:15:19 EDT; 4min 5s ago
Process: 5314 ExecStart=/usr/sbin/mysqld --daemonize $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
Process: 5298 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
Main PID: 5317 (mysqld)
CGroup: /system.slice/mysqld.service
└─5317 /usr/sbin/mysqld --daemonize
Oct 29 05:15:19 localhost.localdomain systemd[1]: Started MySQL Server.
8 - اکنون و در نهایت ورژن MySQL نصب شده را با استفاده از دستور زیر بررسی کنید.
کد PHP:
# mysql --version
mysql Ver 14.14 Distrib 5.7.9, for Linux (x86_64) using EditLine wrapper
مرحله پنجم : امن کردن محیط MySQL
9 - دستور mysql_secure_installation برای شما امکان امن کردن MySQL تان را با انجام تنظیمات مهمی مانند تعریف پسورد root - حذف کاربران ناشناخته (anonymous users) و حذف Login یوزر root و غیره ممکن میسازد.
نکته : ورژن MySQL 5.7 یا بالاتر بعد از نصب یک پسورد موقتی Random در فایل /var/log/mysqld.log ایجاد میکند.
با استفاده از دستور زیر میتوانید پسورد را قبل از اجرا کردن دستور mysql secure مشاهده کنید.
کد PHP:
# grep 'temporary password' /var/log/mysqld.log
کد PHP:
# mysql_secure_installation
اکنون دستورالعمل تصویری زیر و خروجی دستور بالا را به عنوان مرجع (که به شرح زیر است) با دقت دنبال کنید.
نمونه خروجی
کد PHP:
Securing the MySQL server deployment.
Enter password for user root: Enter New Root Password
VALIDATE PASSWORD PLUGIN can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD plugin?
Press y|Y for Yes, any other key for No: y
There are three levels of password validation policy:
LOW Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary file
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2
Using existing password for root.
Estimated strength of the password: 50
Change the password for root ? ((Press y|Y for Yes, any other key for No) : y
New password: Set New MySQL Password
Re-enter new password: Re-enter New MySQL Password
Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Success.
Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Success.
By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
- Dropping test database...
Success.
- Removing privileges on test database...
Success.
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.
All done!
مرحله ششم : اتصال به سرور MySQL
10 - برای اتصال به سرور MySQL جدید باید از دستور زیر استفاده کنیم و username و password مورد نیاز را نیز در دستور لحاظ کنیم.
کد PHP:
# mysql -u root -p
کد PHP:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 19
Server version: 5.7.9 MySQL Community Server (GPL)
Copyright (c) 2000, 2015, 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.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
مرحله هفتم : آپدیت MySQL با استفاده از Yum
11 - علاوه بر نصب جدید همچنین شما میتوانید MySQL و Component های مربوطه را با کمک دستور زیر Update کنید.
کد PHP:
# yum update mysql-server
# dnf update mysql-server [On Fedora 22+ versions]
زمانیکه Update های جدید برای MySQL موجود هستند خودش به صورت اتوماتیک آنها را نصب میکند. در غیر این صورت شما پیغام NO packages marked for updates را دریافت خواهید کرد.
اکنون شما MySQL 5.7.9 را با موفقیت روی سیستم تان نصب کردید اگر در حین نصب با هر مشکلی روبه رو شدید آن را در این پست مطرح کنید.
کامنت