В данной статье будет рассмотрен способ отображения прогресс бара при импорте или экспорте базы данных MySQL.
Для начала необходимо установить пакет pv (pipe viewer). Для CentOS:
yum install -y pv
Для Debian/Ubuntu:
apt install -y pv
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
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 уже знает размер загружаемого файла.