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-пользователя и удаление анонимных пользователей.
Дополнительно, вы можете проверить конфигурационные файлы 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
Этот временный пароль необходимо использовать для первой авторизации. После первого входа рекомендуется сменить временный пароль на постоянный. Для этого выполните следующие шаги:
-
- Подключитесь к серверу MySQL с использованием временного пароля:
mysql -u root -p
-
- Вводите временный пароль, когда будет предложено.
- Смените пароль с помощью следующей команды:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Новый_Пароль';
- Не забудьте заменить ‘Новый_Пароль’ на желаемый пароль.
Также стоит отметить, что начиная с версии 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 с помощью следующей команды.
Используя 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 и применять их для улучшения безопасности и производительности вашей базы данных.

