Индикатор прогресса при экспорте или импорте базы данных MySQL

В данной статье будет рассмотрен способ отображения прогресс бара при импорте или экспорте базы данных MySQL.


Для начала необходимо установить пакет pv (pipe viewer). Для CentOS:

yum install -y pv

Для Debian/Ubuntu:

apt install -y pv

  1. Сделать дамп с отображение информации о прогрессе можно следующей командой.
mysqldump -h <host_address> -u <user> -p<password> <db_name> | pv --size <size_db_MB> > <path_to_file>.sql

Узнать размер баз данных можно выполнив следующую команду, подключившись к серверу баз данных.

SELECT table_schema "DB Name",
        Round(Sum(data_length + index_length) / 1024 / 1024, 1) "DB Size in MB"
        FROM   information_schema.tables
        GROUP  BY table_schema;

Пример использования команды.

mysqldump -h localhost -u root -p'yZ3503E9iB4M' testbase | pv --size 1218M > testbase.sql
  1. Загрузить дамп с отображением информации о прогрессе можно следующей командой.
pv <db_name>.sql | mysql -h<host_address> -u<user> -p<password> <db_name>

Пример:

pv testbase.sql | mysql -h localhost -u root -p'yZ3503E9iB4M' testbase

При загрузке дампа указывать размер базы данных не обязательно, т.к. утилита pv уже знает размер загружаемого файла.

Сведения о статье:
Дата публикации: 29/12/2019 8:26AM
Последнее обновление: 06/02/2020 1:48AM (rmntrvn)
Поделиться статьей: 
Автор: rmntrvn
Постоянная ссылка: http://kb.rmntrvn.ru/kb/pv-with-mysqldump-and-import-db
mysql | pv | mysqldump | прогрессбар | import db | export db |