Как установить MySQL на CentOS/RHEL 7/6 и Fedora 32/31

MySQL — это система управления реляционными базами данных с открытым исходным кодом. Она является одной из самых распространённых баз данных для платформ Linux и поддерживает множество операционных систем. В MySQL можно легко создавать хранимые процедуры и выполнять SQL-запросы. Версия Community Edition MySQL доступна бесплатно для загрузки и использования в ваших приложениях.

Официальная команда MySQL предоставляет yum-репозиторий для установки MySQL на системах с RPM. Этот репозиторий может быть использован для установки MySQL на дистрибутивах CentOS и Fedora.

В этом руководстве вы узнаете, как установить MySQL Server на CentOS/RHEL 7/6 и Fedora 32/31/30/29, используя менеджер пакетов по умолчанию.

Перед началом установки убедитесь, что ваша система обновлена. Для этого выполните команду:

sudo yum update

Затем добавьте репозиторий MySQL в вашу систему. Это можно сделать, скачав RPM-файл с официального сайта MySQL:

wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

После загрузки установите репозиторий с помощью команды:

sudo rpm -ivh mysql57-community-release-el7-11.noarch.rpm

Теперь вы можете установить MySQL с помощью следующей команды:

sudo yum install mysql-server

После завершения установки запустите MySQL и настройте его для автоматического запуска при загрузке системы:

sudo systemctl start mysqld
sudo systemctl enable mysqld

Для обеспечения безопасности вашей установки MySQL выполните скрипт настройки:

sudo mysql_secure_installation

Следуйте инструкциям на экране, чтобы настроить пароль root, удалить анонимных пользователей и отключить удаленный доступ к пользователю root. После этого MySQL будет готов к использованию.

Теперь вы можете подключиться к MySQL, используя команду:

mysql -u root -p

Введите установленный пароль, чтобы получить доступ к вашему серверу MySQL и начать работу с базами данных.

 

Настройка репозитория Yum

Сначала необходимо добавить yum-репозиторий MySQL в систему. Выполните одну из приведённых ниже команд в зависимости от версии вашей операционной системы.


На CentOS/RHEL 7: rpm -Uvh https://repo.mysql.com/mysql80-community-release-el7-3.noarch.rpm
На CentOS/RHEL 6: rpm -Uvh https://repo.mysql.com/mysql80-community-release-el6-3.noarch.rpm
На Fedora 32: rpm -Uvh https://repo.mysql.com/mysql80-community-release-fc32-1.noarch.rpm
На Fedora 31: rpm -Uvh https://repo.mysql.com/mysql80-community-release-fc31-1.noarch.rpm
На Fedora 30: rpm -Uvh https://repo.mysql.com/mysql80-community-release-fc30-1.noarch.rpm

После установки репозитория, обновите кэш yum, выполнив команду yum makecache. Это необходимо для того, чтобы yum знал о новых пакетах, доступных в репозитории.

Чтобы установить MySQL, выполните команду yum install mysql-community-server. Убедитесь, что вы используете правильную версию MySQL, проверив документацию на сайте MySQL.

После завершения установки, не забудьте запустить MySQL сервер командой systemctl start mysqld и добавить его в автозагрузку с помощью systemctl enable mysqld.

Также полезно проверить статус сервиса, выполнив systemctl status mysqld. Это поможет убедиться, что сервер запущен и работает корректно.

Если вы хотите изменить настройки безопасности MySQL, запустите скрипт mysql_secure_installation, который проведет вас через процесс настройки, включая установку пароля для root-пользователя и удаление анонимных пользователей.

Читайте также:  Безопасный онлайн-банк в Linux

Дополнительно, вы можете проверить конфигурационные файлы MySQL, находящиеся в директории /etc/my.cnf, чтобы настроить параметры, такие как размер буферов, количество соединений и другие настройки, соответствующие вашим требованиям.

Не забудьте регулярно обновлять систему и пакеты MySQL, используя команду yum update, чтобы получать последние исправления безопасности и улучшения производительности.

Также рекомендуется создать резервные копии данных с помощью утилиты mysqldump, чтобы защитить важную информацию от потери в случае непредвиденных обстоятельств.

 

Установите MySQL Community Server

Репозиторий MySQL yum включает в себя различные конфигурации для разных версий MySQL. Для начала отключите все репозитории в конфигурационном файле MySQL.

sed -i 's/enabled=1/enabled=0/' /etc/yum.repos.d/mysql-community.repo

Затем выполните одну из следующих команд в зависимости от вашей операционной системы для установки MySQL.

yum --enablerepo=mysql57-community install mysql-community-server Для CentOS и RedHat dnf --enablerepo=mysql57-community install mysql-community-server Для систем Fedora

После завершения установки необходимо запустить службу MySQL и добавить её в автозагрузку:

systemctl start mysqld
systemctl enable mysqld

Чтобы получить временный пароль для доступа к MySQL, проверьте файл журнала:

grep 'temporary password' /var/log/mysqld.log

Рекомендуется сразу же изменить временный пароль на постоянный, используя следующую команду:

mysql_secure_installation

Следуйте инструкциям на экране, чтобы улучшить безопасность вашей установки MySQL.

Запуск службы MySQL

Для старта сервера MySQL используйте следующую команду в терминале Linux.

С использованием SysVinit

service mysqld start

С использованием Systemd

systemctl start mysqld.service

Также рекомендуется проверять статус службы после запуска, чтобы убедиться, что MySQL работает корректно. Для этого используйте следующие команды:

С использованием SysVinit

service mysqld status

С использованием Systemd

systemctl status mysqld.service

Если служба не запускается, проверьте журналы ошибок, которые можно найти по пути:

/var/log/mysqld.log

Это поможет диагностировать возможные проблемы с конфигурацией или ресурсами системы.

Не забудьте, что для успешного запуска MySQL может потребоваться соответствующий уровень доступа, поэтому убедитесь, что вы выполняете команды от имени пользователя с необходимыми правами.

Дополнительные рекомендации:

    • Убедитесь, что MySQL установлен правильно, и все зависимости удовлетворены.
    • Если вы планируете использовать MySQL в продакшене, рассмотрите возможность настройки службы для автоматического запуска при загрузке системы. Для Systemd это можно сделать командой:

systemctl enable mysqld.service

  • Следите за обновлениями безопасности и версиями MySQL, чтобы обеспечить стабильную и безопасную работу сервера.
  • Если вы используете MySQL в локальной сети, проверьте настройки брандмауэра, чтобы убедиться, что порт 3306 (по умолчанию) открыт для доступа.
  • Для настройки пользователя и управления правами доступа используйте команду mysql_secure_installation, которая поможет настроить безопасность вашего сервера.

 

Получение пароля root для MySQL

При установке MySQL 5.7 создается временный пароль для пользователя root. Найти его можно в логах.

grep "A temporary password" /var/log/mysqld.log
[Note] A temporary password is generated for root@localhost: hosygMikj1+t636

Этот временный пароль необходимо использовать для первой авторизации. После первого входа рекомендуется сменить временный пароль на постоянный. Для этого выполните следующие шаги:

    1. Подключитесь к серверу MySQL с использованием временного пароля:
Читайте также:  Для установки Dropbox на Ubuntu 20.04 из официального репозитория следуйте инструкциям

mysql -u root -p

    1. Вводите временный пароль, когда будет предложено.
    2. Смените пароль с помощью следующей команды:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Новый_Пароль';

  1. Не забудьте заменить ‘Новый_Пароль’ на желаемый пароль.

Также стоит отметить, что начиная с версии MySQL 5.7, включен режим строгой проверки паролей. Убедитесь, что ваш новый пароль соответствует требованиям по сложности.

Для повышения безопасности рекомендуется также отключить возможность входа под пользователем root с удаленных хостов, если это не требуется. Это можно сделать с помощью:

UPDATE mysql.user SET Host='localhost' WHERE User='root';

После выполнения всех изменений не забудьте перезагрузить привилегии:

FLUSH PRIVILEGES;

Настройка MySQL после установки

После первой установки MySQL выполните команду mysql_secure_installation для защиты сервера. Вам будет предложено ответить на несколько вопросов, рекомендуется выбрать «да» (y) на каждый из них.

mysql_secure_installation
Введите пароль для пользователя root: Существующий пароль для учетной записи root истек. Пожалуйста, задайте новый пароль. Новый пароль: Повторите новый пароль: Плагин 'validate_password' установлен на сервере. Последующие шаги будут выполнены с текущей конфигурацией плагина. Используя существующий пароль для root. Оценочная сила пароля: 100 Изменить пароль для root? ((Нажмите y|Y для Да, любую другую клавишу для Нет) : n По умолчанию установка MySQL имеет анонимного пользователя, который позволяет любому входить в MySQL без учетной записи. Это предназначено только для тестирования, чтобы установка прошла легче. Вам следует удалить их перед переходом в продуктивную среду. Удалить анонимных пользователей? (Нажмите y|Y для Да, любую другую клавишу для Нет) : y Успех. Обычно, root должен подключаться только с 'localhost'. Это предотвращает возможность угадать пароль root через сеть. Запретить удаленный доступ для root? (Нажмите y|Y для Да, любую другую клавишу для Нет) : y Успех. По умолчанию MySQL содержит базу данных 'test', к которой может получить доступ любой. Это также предназначено только для тестирования и должно быть удалено перед переходом в продуктивную среду. Удалить тестовую базу данных и доступ к ней? (Нажмите y|Y для Да, любую другую клавишу для Нет) : y - Удаление тестовой базы данных. Успех. - Удаление привилегий на тестовую базу данных. Успех. Перезагрузка таблиц привилегий обеспечит немедленное применение всех внесенных изменений. Перезагрузить таблицы привилегий сейчас? (Нажмите y|Y для Да, любую другую клавишу для Нет) : y Успех. Все готово!

Также стоит отметить, что рекомендуется регулярно обновлять MySQL до последней версии, чтобы получать новые функции и исправления безопасности. Используйте менеджер пакетов вашей операционной системы для установки обновлений. Кроме того, подумайте о создании резервных копий баз данных, чтобы избежать потери данных в случае сбоя системы или других непредвиденных обстоятельств.

Не забудьте настроить файлы конфигурации MySQL, такие как my.cnf или my.ini, чтобы оптимизировать производительность сервера в зависимости от ваших потребностей. Настройки, такие как max_connections, innodb_buffer_pool_size и другие, могут значительно повлиять на работу базы данных.

Также полезно установить мониторинг производительности сервера MySQL, чтобы отслеживать использование ресурсов и быстро реагировать на потенциальные проблемы. Это может быть достигнуто с помощью инструментов, таких как MySQL Enterprise Monitor или открытых решений, таких как Prometheus с Grafana.

Перезапуск и включение службы MySQL

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

Читайте также:  Настройка репликации Master-Slave MariaDB на Debian 8

Используя SysVinit service mysqld restart Используя Systemd systemctl restart mysqld.service

Также настройте службу на автоматический запуск при загрузке системы с помощью следующей команды.

Используя SysVinit chkconfig mysqld on Используя Systemd systemctl enable mysqld.service

Для проверки статуса службы MySQL можно использовать следующую команду:

Используя Systemd systemctl status mysqld.service

Это позволит вам убедиться, что служба запущена и работает корректно. В случае возникновения проблем с запуском службы, вы можете просмотреть журналы ошибок с помощью:

tail -f /var/log/mysqld.log

Если вы используете SELinux, убедитесь, что он настроен правильно, так как это может влиять на работу MySQL. Вы можете временно отключить SELinux для диагностики проблем с командой:

setenforce 0

Однако не забудьте вернуть SELinux в режим enforcing после завершения диагностики, используя:

setenforce 1

Регулярно обновляйте MySQL для обеспечения безопасности и исправления ошибок. Вы можете выполнить обновление с помощью пакетного менеджера вашей системы, например:

sudo apt update && sudo apt upgrade mysql-server

или

sudo yum update mysql-server

Это обеспечит вашу систему последними улучшениями и исправлениями безопасности.

Работа с MySQL

Теперь подключитесь к серверу базы данных MySQL через оболочку Linux, используя команду ниже. Появится запрос на ввод пароля для аутентификации. После успешного входа вы получите командную строку MySQL, где сможете выполнять SQL-запросы.

mysql -h localhost -u root -p

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

Для создания новой базы данных используйте следующую команду:

CREATE DATABASE имя_базы_данных;

После этого создайте нового пользователя с помощью команды:

CREATE USER 'имя_пользователя'@'localhost' IDENTIFIED BY 'пароль';

Чтобы предоставить пользователю доступ к созданной базе данных, выполните команду:

GRANT ALL PRIVILEGES ON имя_базы_данных.* TO 'имя_пользователя'@'localhost';

Не забудьте обновить привилегии, чтобы изменения вступили в силу:

FLUSH PRIVILEGES;

Теперь вы можете выйти из MySQL, введя команду:

EXIT;

Эти шаги помогут вам успешно настроить базу данных и пользователя в MySQL. Убедитесь, что вы используете сложные пароли для повышения безопасности вашей базы данных.

Также важно отметить, что вы можете управлять пользователями и их правами более детально. Например, если вам нужно предоставить доступ только к определённым таблицам, вы можете использовать:

GRANT SELECT, INSERT ON имя_базы_данных.имя_таблицы TO 'имя_пользователя'@'localhost';

Для просмотра всех пользователей и их привилегий, используйте:

SELECT user, host FROM mysql.user;

Помимо этого, рекомендуется регулярно создавать резервные копии вашей базы данных с помощью команды:

mysqldump -u имя_пользователя -p имя_базы_данных > backup.sql

Это поможет вам восстановить данные в случае сбоя или потери информации. Также не забудьте следить за обновлениями MySQL и применять их для улучшения безопасности и производительности вашей базы данных.

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *