Внимание: Если выполняется апгрейд MySQL (существующая версия заменяется более новой), следует выполнить резервное копирование конфигурационных файлов и непосредственно БД. Не забудьте выполнить команду mysql_upgrade.
1. Все действия выполняем от супер-пользователя
su - ## или же ## sudo -i
2. Добавляем репозиторий
Устанавливаем СУБД MySQL 5.7.17 на Fedora 25/24/23 или CentOS 7.3/6.8.
Fedora
## Fedora 25 ## dnf install https://dev.mysql.com/get/mysql57-community-release-fc25-9.noarch.rpm ## Fedora 24 ## dnf install https://dev.mysql.com/get/mysql57-community-release-fc24-9.noarch.rpm ## Fedora 23 ## dnf install https://dev.mysql.com/get/mysql57-community-release-fc23-9.noarch.rpm
CentOS или RHEL
## CentOS 7 ## yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm ## CentOS 6 ## yum localinstall https://dev.mysql.com/get/mysql57-community-release-el6-9.noarch.rpm ## CentOS 5 ## yum localinstall https://dev.mysql.com/get/mysql57-community-release-el5-7.noarch.rpm
3. Установка или повышение версии MySQL до 5.7.17
Fedora 25/24/23
dnf install mysql-community-server
CentOS 7.3/6.8
yum install mysql-community-server
4. Запуск сервера MySQL и автозапуск MySQL после загрузки
Fedora 25/24/23 and CentOS 7
systemctl start mysqld.service systemctl enable mysqld.service
CentOS 6.8/5.11
/etc/init.d/mysql start ## или же ## service mysql start ## use restart after update chkconfig --levels 235 mysqld on
5. Получение временного пароля
Чтобы узнать назначенный нам пароль, выполним команду
grep 'A temporary password is generated for root@localhost' /var/log/mysqld.log |tail -1
Пример вывода на экран:
2017-02-14 10:00 [Note] A temporary password is generated for root@localhost: rR44i@EIUK
Очевидно, наш пароль: rR44i@EIUK
6. Обеспечение базовой безопасности MySQL
- Change root password
- Remove anonymous users
- Disallow root login remotely
- Remove test database and access to it
- Reload privilege tables
Запускаем MySQL Secure Installation следующей командой
/usr/bin/mysql_secure_installation
Потребуется ввести пароль пользователя root, после чего надо будет обновить пароль и ответить Yes на несколько вопросов.
Можно не выполнять “MySQL Secure Installation” но задать собственный пароль для root определённо следует!
mysqladmin -u root password -p [your_password_here]
Например:
mysqladmin -u root password secret
7. Соединение с MySQL (на localhost) с использованием пароля
mysql -u root -p ## или же ## mysql -h localhost -u root -p
8. Создание БД, пользователя MySQL и разрешение удалённых подключений
This example uses following parameters:
- DB_NAME = webdb
- USER_NAME = webdb_user
- REMOTE_IP = 10.4.0.1
- PASSWORD = secret123
- PERMISSIONS = ALL
## CREATE DATABASE ##
mysql> CREATE DATABASE webdb;
## CREATE USER ##
mysql> CREATE USER 'webdb_user'@'10.4.0.1' IDENTIFIED BY 'secret123';
## GRANT PERMISSIONS ##
mysql> GRANT ALL PRIVILEGES ON webdb.* TO 'webdb_user'@'10.4.0.1';
## FLUSH PRIVILEGES, Tell the server to reload the grant tables ##
mysql> FLUSH PRIVILEGES;
Если всё сделано правильно, можем проверить, какие пакеты установились в системе.
При желании, можем разрешить удалённые соединения – откроем порт 3306 на сервере
1. Fedora 25/24/23 and CentOS 7
1.1 Добавляем правила для Firewalld
firewall-cmd --permanent --zone=public --add-service=mysql ## или же ## firewall-cmd --permanent --zone=public --add --port=3306/tcp
1.2 Перезапускаем firewalld.service
systemctl restart firewalld.service
2. CentOS/Red Hat (RHEL) 6.8/5.11
2.1 Редактируем /etc/sysconfig/iptables:
mcedit -w /etc/sysconfig/iptables
2.2 Добавляем правило INPUT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
2.3 Перезапуск фаер-волла
service iptables restart ## или же ## /etc/init.d/iptables restart
3. Протестируем удалённое подключение
mysql -h 10.4.0.1 -u myusername -p
Дискуссия
Написал Rocky 9
Опубликовано в: Установка nginx c PHP-FPM под CentOS 7.0 in LinuxНаписал Константин
Опубликовано в: Докеризация стека LEMP под Ubuntu c помощью Compose in LinuxНаписал bammbr
Опубликовано в: Шлюз для маленького отдела на Red Hat 9 in LinuxНаписал Федор
Опубликовано в: Установка и конфигурация Samba на CentOS 7 in LinuxНаписал Evgenytrl
Опубликовано в: Загрузка файлов с помощью Wget in Linux