Касательно миграции:
В общей ситуации, может быть достаточно следующего:
- Выделить внерабочее время, когда можно будет провести профилактику.
- Сделать резервную копию БД (как приложения, так и information_scheme)
- Остановить MySQL
- Сделать резервную копию файлов данных (/var/lib/mysql)
- Сделать резервную копию конфигов из /etc/mysql
- Удалить пакет: 'sudo apt-get remove mysql-server'
- Подключить репозиторий MariaDB:
https://downloads.mariadb.org/mariadb/repositories/
- Выполнить
sudo apt-get update
- Установить пакет:
sudo apt-get install mariadb-server
- Убедиться, что приложение работает, как ожидается.
Всё.
Что может пойти не так:
- Слишком существенная разница в конфигах гипотетически может привести к проблеме чтения имеющихся файлов данных новым сервером, препятствуя запуску службы. Причину при этом скорее всего напишет в
/var/log/mysql.log
или
/var/log/mysql.err
.
Я с таким прежде не сталкивался, но если это случится, то будет быстрее: удалить MariaDB, затем отключить репозиторий (удалив соответствующую строку/файл из
/etc/apt/sources.list
или
/etc/apt/sources.list.d/
), затем
sudo apt-get update
, затем установить пакет mysql-server обратно. Перед этим, хорошей идеей будет откатить бэкапы /etc/mysql и /var/lib/mysql на прежние места, чтобы исключить последствия изменения файлов данных/конфигов обновлением на MariaDB. Затем проанализировать, что пошло не так и более лучше подготовиться к следующей попытке миграции.
Материалы по теме с советами по миграции:
https://mariadb.com/kb/en/mariadb/upgrading-from-m...
https://mariadb.com/kb/en/mariadb/moving-to-mariadb/
https://mariadb.com/blog/how-migrate-mysql-mariadb...
https://www.digitalocean.com/community/tutorials/s...Касательно оптимизации:
Часто производительность упирается в архитектуру приложения, а не в использование конкретной технологии.
Например, хорошей идеей будет освоить индексы для тяжёлых запросов.
Примеры, по какому принципу выбирать колонки для индексирования:
ruhighload.com/post/%D0%9A%D0%B0%D0%BA+%D0%BF%D1%8...
ruhighload.com/index.php/2009/06/09/%D0%BA%D0%B0%D...
ruhighload.com/post/%D0%A0%D0%B0%D0%B1%D0%BE%D1%82...