Работа с базами данных MySQL в ISPManager 5 + Docker
В ISPManager 5 добавлена контейнерная виртуализация Docker для использования альтернативных версий MySQL.
Цитата из документации ISPManager 5:
Все альтернативные MySQL-серверы разворачиваются внутри «контейнеров», которые представляют из себя обособленную среду. Данные каждого контейнера хранятся в отдельной директории /var/lib/имя_сервера. Созданием и работой с контейнерами занимается Docker, в его же репозиториях хранятся и устанавливаемые версии MySQL.
Процесс установки контейнера:
- Создание директории для контейнера (/var/lib/имя_сервера)
- Загрузка выбранной версии MySQL из репозитория
- Выбор свободного порта для проброса из контейнера (первый свободный порт начиная с 3310)
- Настройка сервера и установка пароля для пользователя root
Для удобного администрирования и выполнения наиболее частых задач по работе данного, так сказать STACKчика, ниже собрал список решений:
-
Импорт базы данных для альтернативного сервера в ISPManager 5
mysql -udb_user -p --host=127.0.0.1 --port=3310 db_name < /var/www/lesovsky/data/backup_07042021.sql
Для импорта базы данных с отображением прогресса отображения, пользуюсь утилитой pv — Pipe Viewer:
Тогда команда будет иметь вид:pv /var/www/siteuser/data/backup_08042021.sql | mysql -udb_user -p --host=127.0.0.1 --port=3310 db_name
-
Экспорт базы данных для альтернативного сервера в ISPManager 5
mysqldump -udb_user -p --host=127.0.0.1 --port=3310 db_name > /var/www/siteuser/data/backup_08042021.sql
-
Очистка дискового пространства после удаления альтернативного сервера базы данных
Если было тестирование каких-то серверов БД и последующего их удаления или их обновления, после образуются dangling образы, которые могут занимать несколько гигабайт.
Проверить наличие dangling образов можно с помощью команды:docker image ls -f dangling=true
А удалить dangling образы:
docker image rm $(docker image ls -f dangling=true -q)
-
Очистка дискового пространства после удаления базы данных
Бывает ситуация, что после удаления базы данных, файлы базы данных могут остаться на диске в папке /var/lib/имя_сервера/имя_бд для которую необходимо просто удалить.
Для более быстрого поиска занимаемого места можно воспользоваться помощью утилиты ncdu.Цитата: 2-й способ. Утилита ncdu — анализ занятого места и его освобождение
Есть так же и другие способы определить чем занято место на диске, например, очень удобная в плане анализа занятого места — утилита ncdu. Установить ее можно, например, так:
- Для Debian систем (rpm-пакеты) (в т.ч. Ubuntu) командой apt-get install ncdu
- Для Red Hat систем (dpkg-пакеты) командой yum install ncdu
Дальше просто запустите ncdu и подождите, когда она подсчитает занимаемое место. По-умолчанию программа посчитает размеры папкой текущей папки, из которой программа была запущена. Если нужно посчитать какую-то другую папку, просто добавьте к команде путь к папке, например, так: ncdu /var/www. Если нужно посчитать занимаемое место на всем диске, можно использовать ncdu /.
Программа показывает занимаемое папками место, позволяет заходить в них и сразу видеть сколько подпапки занимают места. Так же в этой утилите можно выполнять различные действия над файлами и папками. Получить справку по клавишам управления можно нажав «?«. Ниже приведу список некоторых из клавиш управления:
- d — удалить выбранный файл или папку с файлами;
- n — отсортировать файлы и папки по имени;
- s — отсортировать файлы и папки по объему занимаемого места;
- t — показывать сначала папки, затем файлы;
- g — режим отображения (в процентах, графически, комплексно);
- a — режим отображения (размер файла, занятое место на жестком диске)
- e — включить/отключить отображение скрытых файлов;
- i — показать дополнительную информацию о папке или файле;
- r — заново пересчитать занимаемое место;
- q — выйти из программы;
Источник: https://igor.lesovsky.ru/notes/%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D0%B1%D0%B0%D0%B7%D0%B0%D0%BC%D0%B8-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-mysql-%D0%B2-ispmanager-5-docker/
Дайджест новых статей по интернет-маркетингу на ваш email
Новые статьи и публикации
- 2024-09-30 » Как быстро запустить Laravel на Windows
- 2024-09-25 » Next.js
- 2024-09-05 » OpenAI рассказал, как запретить ChatGPT использовать содержимое сайта для обучения
- 2024-08-28 » Чек-лист: как увеличить конверсию интернет-магазина на примере спортпита
- 2024-08-01 » WebSocket
- 2024-07-26 » Интеграция с Яндекс Еда
- 2024-07-26 » Интеграция с Эквайринг
- 2024-07-26 » Интеграция с СДЕК
- 2024-07-26 » Интеграция с Битрикс-24
- 2024-07-26 » Интеграция с Travelline
- 2024-07-26 » Интеграция с Iiko
- 2024-07-26 » Интеграция с Delivery Club
- 2024-07-26 » Интеграция с CRM
- 2024-07-26 » Интеграция с 1C-Бухгалтерия
- 2024-07-24 » Что такое сторителлинг: техники и примеры
- 2024-07-17 » Ошибка 404: что это такое и как ее использовать для бизнеса
- 2024-07-03 » Размещайте прайс-листы на FarPost.ru и продавайте товары быстро и выгодно
- 2024-07-01 » Профилирование кода в PHP
- 2024-06-28 » Изучаем ABC/XYZ-анализ: что это такое и какие решения с помощью него принимают
- 2024-06-17 » Зачем вам знать потребности клиента
- 2024-06-11 » Что нового в работе Яндекс Метрики: полный обзор обновления
- 2024-06-11 » Поведенческие факторы ранжирования в Яндексе
- 2024-06-11 » Скорость загрузки сайта: почему это важно и как влияет на ранжирование
- 2024-05-27 » Подборка сервисов для расшифровки аудио в текст
- 2024-05-27 » PostgreSQL 16. Изоляция транзакций. Часть 2
- 2024-05-06 » Как настраивать конверсионные стратегии: работа над ошибками
- 2024-04-22 » Комментирование кода и генерация документации в PHP
- 2024-04-22 » SEO в России и на Западе: в чем основные отличия
- 2024-04-22 » SEO для международного масштабирования
- 2024-04-22 » Как использовать XML-карты для продвижения сайта
"Я придерживаюсь простого правила: все дела этого дня должны быть сделаны в этот день". Герцог Веллингтон. |
Мы создаем сайты, которые работают! Профессионально обслуживаем и продвигаем их , а также по всей России и ближнему зарубежью с 2006 года!
Как мы работаем
Заявка
Позвоните или оставьте заявку на сайте.
Консультация
Обсуждаем что именно Вам нужно и помогаем определить как это лучше сделать!
Договор
Заключаем договор на оказание услуг, в котором прописаны условия и обязанности обеих сторон.
Выполнение работ
Непосредственно оказание требующихся услуг и работ по вашему заданию.
Поддержка
Сдача выполненых работ, последующие корректировки и поддержка при необходимости.