Как поставить MySQL 5.7 на RHEL/CentOS 7/6/5 и Fedora 23/22/21

Linux
Разберем пошагово как поставить MySQL 5.7 на RHEL/CentOS 7/6/5 и Fedora 23/22/21 используя MySQL Yum репозиторий через утилиту YUM.

Step 1: Добавим MySQL Yum репозиторий

1. Используем официальный репозиторий MySQL Yum

Он содержит RPM пакеты MySQL сервера, клиента, утилит, MySQL Workbench, Connector/ODBC, и коннеторы для RHEL/CentOS 7/6/5 и Fedora 23-21.

Примечание: Инструкция подходит для установки MySQL на чистую системы, в которой не было установки MySQL. Если MySQL уже установлен, попробуйте обновить его с помощью yum. И перед обновлением сделайте бекап базы.

2. Скачиваем MySQL Yum репозиторий, для вашего Linux дистрибутива.

--------------- On RHEL/CentOS 7 ---------------
# wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
--------------- On RHEL/CentOS 6 ---------------
# wget http://dev.mysql.com/get/mysql57-community-release-el6-7.noarch.rpm
--------------- On RHEL/CentOS 5 ---------------
# wget http://dev.mysql.com/get/mysql57-community-release-el5-7.noarch.rpm
--------------- On Fedora 23 ---------------
# wget http://dev.mysql.com/get/mysql57-community-release-fc23-7.noarch.rpm
--------------- On Fedora 22 ---------------
# wget http://dev.mysql.com/get/mysql57-community-release-fc22-7.noarch.rpm
--------------- On Fedora 21 ---------------
# wget http://dev.mysql.com/get/mysql57-community-release-fc21-7.noarch.rpm


3. После скачивания установим репозиторий.

--------------- On RHEL/CentOS 7 ---------------
# yum localinstall mysql57-community-release-el7-7.noarch.rpm
--------------- On RHEL/CentOS 6 ---------------
# yum localinstall mysql57-community-release-el6-7.noarch.rpm
--------------- On RHEL/CentOS 5 ---------------
# yum localinstall mysql57-community-release-el5-7.noarch.rpm
--------------- On Fedora 23 ---------------
# dnf localinstall mysql57-community-release-fc23-7.noarch.rpm
--------------- On Fedora 22 ---------------
# dnf localinstall mysql57-community-release-fc22-7.noarch.rpm
--------------- On Fedora 21 ---------------
# yum localinstall mysql57-community-release-fc21-7.noarch.rpm

Во время установки MySQL Yum репозитория скачаются и установятся GnuPG key ключи для проверки.

4. Проверим установился ли MySQL Yum репозиторий.

# yum repolist enabled | grep "mysql.*-community.*"
# dnf repolist enabled | grep "mysql.*-community.*"      [On Fedora 22+ versions]
Verify MySQL Yum Repository
Verify MySQL Yum Repository


Шаг 2: Установка MySQL версии 5.7

5. Для установки MySQL 5.7 используем следующую команду:
# yum install mysql-community-server
# dnf install mysql-community-server      [On Fedora 22+ versions]

Команда установит пакеты MySQL сервера: mysql-community-server, mysql-community-client, mysql-community-common и mysql-community-libs.

Шаг 3: Установка других версий MySQL

6. Используя этот репозиторий можно устанавливать MySQL Community Server других версий. MySQL версии 5.7 ставится по умолчанию, а версии MySQL 5.6 и 5.5 по умолчанию отключены.

Для установки других версий есть ключи --enable или --disable для yum-config-manager или dnf config-manager, например:
# yum-config-manager --disable mysql57-community
# yum-config-manager --enable mysql56-community
------------------ Fedora 22+ Versions ------------------
# dnf config-manager --disable mysql57-community
# dnf config-manager --enable mysql56-community

Шаг 4: Запустим MySQL сервер

7. После установки сервера MySQL его можно запустить командой:
# service mysqld start

Проверить статус:
# service mysqld status

Пример ответа в CentOS 7.
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 версии.
# mysql --version
mysql  Ver 14.14 Distrib 5.7.9, for Linux (x86_64) using  EditLine wrapper


Шаг 5: Настройки безопасности MySQL

9. Команда mysql_secure_installation для настроек root пароля и прочего.

MySQL 5.7 и выше после установки создает временный пароль в файле /var/log/mysqld.log. Так можно посмотреть временный пароль:
# grep 'temporary password' /var/log/mysqld.log

Теперь, зная пароль, его нужно поменять.
# mysql_secure_installation

Введите временный пароль из файла /var/log/mysqld.log.
Пример вывода
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! 

Шаг 6: Соединение с сервером MySQL

10. Подключение к серверу

# mysql -u root -p


Шаг 7: Обновление MySQL через Yum

11. Несмотря на свежую инсталяцию, можно сразу обновить MySQL.

# yum update mysql-server
# dnf update mysql-server       [On Fedora 22+ versions]
Update MySQL Version
Update MySQL Version


Это все, у меня на сегодня поставилась версия MySQL 5.7.16 на Centos 7.

0 комментариев

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.