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 автоматически. Настройте дополнительный бэкап БД для максимальной надёжности.