Как настроить базу данных MySQL на Linux сервере
Полное руководство по установке, защите и управлению сервером базы данных MySQL на Ubuntu и CentOS.

MySQL — одна из самых популярных систем управления реляционными базами данных с открытым исходным кодом. Это руководство поможет вам установить, защитить и настроить MySQL на вашем Linux сервере Hiddence.
Установка MySQL
MySQL 8.0 является текущей стабильной версией по состоянию на 2026 год. Процесс установки немного отличается между Ubuntu/Debian и дистрибутивами на базе RHEL. Мы рассмотрим оба метода ниже.
Установка MySQL на Ubuntu/Debian
Для Ubuntu 22.04 LTS и новее MySQL 8.0 доступен в стандартных репозиториях. Установите его с помощью apt:
sudo apt update
sudo apt install mysql-server -y
sudo systemctl start mysql
sudo systemctl enable mysql
# Проверка установки
sudo systemctl status mysql
mysql --versionУстановка MySQL на RHEL / CentOS / AlmaLinux / Rocky Linux
Для дистрибутивов на базе RHEL сначала необходимо добавить репозиторий MySQL. MySQL 8.0 рекомендуется для использования в продакшене:
# Загрузите пакет репозитория MySQL
sudo wget https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm
# Установите репозиторий
sudo rpm -ivh mysql80-community-release-el9-1.noarch.rpm
# Для CentOS 8/Rocky Linux 8/AlmaLinux 8 используйте:
# sudo wget https://dev.mysql.com/get/mysql80-community-release-el8-7.noarch.rpm
# Установите MySQL
sudo yum install mysql-server -y
# Запустите и включите автозапуск MySQL
sudo systemctl start mysqld
sudo systemctl enable mysqld
# Проверка установки
sudo systemctl status mysqld
mysql --versionПроверка установки
После установки убедитесь, что MySQL работает корректно:
# Проверьте статус службы
sudo systemctl status mysql # Ubuntu/Debian
sudo systemctl status mysqld # RHEL / CentOS
# Проверьте версию MySQL
mysql --version
# Проверьте подключение (потребуется пароль root)
sudo mysql -u root -pЗащита установки MySQL
Запустите скрипт безопасной установки MySQL:
sudo mysql_secure_installation
# Следуйте инструкциям для установки пароля root, удаления анонимных пользователей, отключения удаленного входа root и т.д.Создание базы данных и пользователя
sudo mysql -u root -p
CREATE DATABASE myapp_db;
CREATE USER 'app_user'@'localhost' IDENTIFIED BY 'strong_password';
GRANT ALL PRIVILEGES ON myapp_db.* TO 'app_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;Управление пользователями
sudo mysql -u root -p
# Создать пользователя
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
# Предоставить привилегии
GRANT ALL PRIVILEGES ON database_name.* TO 'newuser'@'localhost';
# Отозвать привилегии
REVOKE ALL PRIVILEGES ON database_name.* FROM 'newuser'@'localhost';
# Удалить пользователя
DROP USER 'newuser'@'localhost';Включение удаленного доступа (опционально)
Чтобы разрешить удаленные подключения, измените bind-address:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
# Измените bind-address = 127.0.0.1 на bind-address = 0.0.0.0
sudo systemctl restart mysql
# Также настройте брандмауэр для разрешения порта 3306Резервное копирование и восстановление базы данных
Создайте резервную копию и восстановите:
# Резервное копирование
mysqldump -u root -p database_name > backup.sql
# Восстановление
mysql -u root -p database_name < backup.sqlРекомендации
- Используйте надежные пароли для пользователей базы данных
- Предоставляйте пользователям только необходимые привилегии
- Регулярно создавайте резервные копии ваших баз данных
- Держите MySQL обновленным для исправлений безопасности
- Мониторьте производительность базы данных и оптимизируйте запросы