Переход с SQLite на MySQL в качестве СУБД
Переход с SQLite на MySQL в качестве СУБД для хранения базы панели ispmanager 6 lite/pro/host может быть осуществлен начиная с версии 6.79.0. Использование SQLite является удобным решением при небольших объёмах данных и низкой нагрузке на систему. Однако, в случае, если в ispmanager имеется большое количество пользователей и поступает значительное количество конкурентных запросов, рекомендуется перейти на СУБД MySQL.
С версии 6.79.0 панели ispmanager доступен выбор системы управления базами данных (СУБД) при установке панели.
Конвертация базы данных с SQLite на MySQL может быть выполнена с помощью специального скрипта. Для начала, необходимо скачать и запустить скрипт следующей командой.
wget https://download.ispmanager.com/tools/sqlite-to-mysql.sh && sh sqlite-to-mysql.shСкрипт выполнит следующие действия:
- Установит MySQL и консольный клиент SQLite, если они не были ранее установлены.
- Создаст в MySQL базу данных и пользователя для панели ispmanager.
- Создаст конфигурационный файл
/usr/local/mgr5/etc/ispmgr.conf.d/db.confс данными для подключения к новой БД MySQL. - Создаст дампы таблиц из БД SQLite и перезапустит панель ispmanager.
- Панель самостоятельно восстановит данные из дампов в новую БД MySQL.
Старая БД SQLite не удалится при конвертации. Для возврата к SQLite удалите файл /usr/local/mgr5/etc/ispmgr.conf.d/db.conf и перезапустите панель. Созданные данные из MySQL не перенесутся в БД SQLite.
Возможные проблемы и их решения:
- «Convertation is not supported for ispmgrnode DB!» — это сообщение означает, что скрипт конвертации не поддерживает работу с базой данных ispmanager business. Он предназначен только для ispmanager lite/pro/host.
- «MySQL database 'ispmgr' already exist» — это указывает на то, что база данных с именем 'ispmgr' уже существует в MySQL. В таком случае, необходимо удалить её и повторить попытку конвертации.
- «Failed to create MySQL database» — если не удается создать базу данных MySQL, убедитесь, что сервер MySQL запущен и можно подключиться к нему из консоли root без использования пароля.
- «Failed to restore dump. Return to SQLite» — если возникает ошибка при восстановлении данных из дампа, необходимо обратиться в техподдержку ispmanager с логами запросов, вызвавших ошибку, для устранения проблемы.