MySQL vs MariaDB: ключевые отличия
| Параметр | MySQL 8.0 | MariaDB 10.x |
|---|---|---|
| Лицензия | GPL + коммерческая (Oracle) | GPL (полностью open source) |
| Производительность | Хорошая | Часто лучше для чтения |
| Совместимость | Базовая (SQL) | drop-in замена для MySQL 5.7 |
| Galera Cluster | Нет (InnoDB Cluster отдельно) | Встроен |
| Движки | InnoDB, MyISAM | InnoDB, Aria, ColumnStore |
Шаг 1: Бэкап данных MySQL
mysqldump -u root -p --all-databases --single-transaction \
--routines --triggers > /backup/mysql_full_$(date +%Y%m%d).sql
# Проверить размер
ls -lh /backup/mysql_full_*.sqlШаг 2: Удаление MySQL
sudo systemctl stop mysql
sudo apt remove --purge mysql-server mysql-client mysql-common
sudo rm -rf /var/lib/mysql
sudo apt autoremoveУбедитесь, что бэкап создан и проверен перед удалением MySQL. Выполните
mysql -u root -p -e "SHOW DATABASES;" с бэкапом — убедитесь, что данные там.Шаг 3: Установка MariaDB
sudo apt update
sudo apt install mariadb-server mariadb-client
# Для последней версии из официального репозитория:
curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
sudo apt install mariadb-serverШаг 4: Первоначальная настройка
sudo mariadb-secure-installation
# или
sudo mysql_secure_installationШаг 5: Импорт данных
# Проверяем подключение
mysql -u root -p -e "SELECT VERSION();"# Импорт бэкапа
mysql -u root -p < /backup/mysql_full_*.sqlШаг 6: Проверка после миграции
# Список баз данных
mysql -u root -p -e "SHOW DATABASES;"
# Проверить таблицы
mysql -u root -p -e "USE mydb; SHOW TABLES; CHECK TABLE orders;"
# Тест приложения
curl -I https://yoursite.comMariaDB полностью совместима с MySQL 5.7 на уровне протокола — большинство приложений (WordPress, Laravel, etc.) работают без изменений в конфигурации.