Бэкап панели с доменами [консоль]
Создание бэкапа
- Зайти в консоль, перейти в корневую директорию пользователя (
cd /root
), ввести командуdocker ps
, ответом должно прийти что-то типа такого:
docker exec -it [ID] mysqldump -u[user] -p[password] [db_name] > [file.sql]
[ID]
- id контейнера, который копировали выше
[user]
- юзер от mysql (обычно root, вводить без пробела от флага -uroot
)
[password]
- пароль от mysql (вводить без пробела от флага -pPaSsWoRd
)
[file.sql]
- имя файла куда будет сохранен дамп базы
В итоге должна получиться примерно такая команда:
docker exec -it 789fd074b575 mysqldump -uroot -proot shft-domain-control-api > backup.sql
- После того как отработает команда, в директории
/root
появится файлbackup.sql
- Далее нужно будет его открыть через редактор
nano
, удалить первую строчку и сохранить файл. - Бэкап готов.
Восстановление бэкапа
- После того как на новом месте поднята панель, копируем в корневую директорию пользователя (
/root
) файл с бэкапом базы. - Узнаем ID mysql контейнера, вводим команду
docker ps
, ищем значение в столбце CONTAINER ID на строке с именем образа mysql, так же как и на этапе создания бэкапа. Копируем или сохраняем этот ID. - Формируем команду для восстановления бэкапа:
docker exec -i [ID] mysql -u[user] -p[password] [db_name] < [file.sql]
Принцип вставки данных такой же как и при создании бэкапа, в итоге должна получиться команда типа такой:
docker exec -i 024a8e898ec3 mysql -uroot -proot shft-domain-control-api < backup.sql
-=Пока не вводим её, а сохраняем куда-то, чтоб была в быстром доступе=-
docker exec -it [ID_контейнера] bash
- подключаемся к контейнеру
mysql -u[user] -p[passwd]
- подключаемся непосредственно к БД, в нашем случае команда будет выглядеть так: mysql -uroot -proot
DROP DATABASE `shft-domain-control-api`;
- удаляем базу
Можно проверить удалилась она или нет командой SHOW DATABASES;
её не должно быть в списке.
CREATE DATABASE `shft-domain-control-api`;
- создаем чистую базу