MySQL/MariaDB на VPS: установка, настройка, безопасность

VDS / VPS серверы · 02.04.2025
MySQL/MariaDB на VPS: установка, настройка, безопасность

MariaDB — форк MySQL с улучшенной производительностью. На большинстве VPS-серверов ZevsHost доступна из официальных репозиториев Ubuntu.

Установка MariaDB

sudo apt update
sudo apt install -y mariadb-server mariadb-client

# Запустить и включить автозапуск
sudo systemctl start mariadb
sudo systemctl enable mariadb

# Начальная защита
sudo mysql_secure_installation

В ходе mysql_secure_installation рекомендуется:

  • Установить пароль root — Yes
  • Удалить анонимных пользователей — Yes
  • Запретить root вход удалённо — Yes
  • Удалить тестовую БД — Yes

Создание базы данных и пользователя

sudo mysql -u root -p

-- Создать базу данных
CREATE DATABASE myapp CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

-- Создать пользователя
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'сложный_пароль';

-- Выдать права
GRANT ALL PRIVILEGES ON myapp.* TO 'myuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Настройка удалённого доступа

⚠️ Открывайте удалённый доступ только если это необходимо. Используйте firewall (UFW) для ограничения IP.
# Открыть порт только для конкретного IP
sudo ufw allow from 203.0.113.10 to any port 3306

# Разрешить bind в MariaDB
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
# Изменить: bind-address = 0.0.0.0
sudo systemctl restart mariadb

Автоматическое резервное копирование

# Создать скрипт бэкапа
cat > /usr/local/bin/db-backup.sh << 'EOF'
#!/bin/bash
DATE=$(date +%Y-%m-%d)
mysqldump -u root -pВАШ_ПАРОЛЬ myapp | gzip > /backups/myapp-$DATE.sql.gz
find /backups -name "*.sql.gz" -mtime +7 -delete
EOF
chmod +x /usr/local/bin/db-backup.sh
mkdir -p /backups

# Добавить в cron (каждый день в 3:00)
echo "0 3 * * * root /usr/local/bin/db-backup.sh" >> /etc/crontab
✅ ZevsHost делает ежедневные снапшоты VPS автоматически. Настройте дополнительный бэкап БД для максимальной надёжности.
← Назад в базу знаний Задать вопрос поддержке