Як налаштувати базу даних 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 оновленим для патчів безпеки
- Моніторьте продуктивність бази даних та оптимізуйте запити