sql >> Database >  >> RDS >> Mysql

Ondersteunt mysqldump een voortgangsbalk?

Installeer en gebruik pv (het is beschikbaar als een yum-pakket voor CentOS)

http://www.ivarch.com/programs/pv.shtml

Ervan uitgaande dat de verwachte grootte van het resulterende bestand dumpfile.sql 100 m (100 megabytes) is, is het gebruik van pv zou als volgt zijn:

mysqldump <parameters> | pv --progress --size 100m > dumpfile.sql

De console-uitvoer ziet er als volgt uit:

[===> ] 20%

Kijk naar de manpagina man pv voor meer opties. U kunt de overdrachtssnelheid weergeven, of hoeveel tijd er is verstreken, of hoeveel bytes zijn overgedragen, en meer.

Als u de grootte van uw dumpbestand niet weet, is er een manier om een ​​grootte van de MySQL-database te verkrijgen uit het table_schema - het zal niet de grootte van uw dumpbestand zijn, maar het kan voldoende zijn voor uw behoeften:

SELECT table_schema AS "Database", ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS "Size (MB)" FROM information_schema.TABLES GROUP BY table_schema;

Bijwerken

Mijn ervaring is dat bij het dumpen van de hele MySQL-server, de werkelijke ongecomprimeerde grootte van de mysql-dump (met behulp van de mysqldump --hex-blob-optie) ruwweg tussen 75% en 85% van de live grootte van MySQL-gegevens die is verkregen uit information_schema. Dus voor een algemene oplossing zou ik het volgende kunnen proberen:

SIZE_BYTES=$(mysql --skip-column-names <parameters> <<< 'SELECT ROUND(SUM(data_length) * 0.8) AS "size_bytes" FROM information_schema.TABLES;')

mysqldump <parameters> --hex-blob | pv --progress --size $SIZE_BYTES > dumpfile.sql



  1. Toegang krijgen tot verloren MySQL-wachtwoord voor PHPMyAdmin op WAMP

  2. Inleiding tot Firebase

  3. MySQL-tijdzone wijzigen?

  4. 7 manieren om alle tabellen te retourneren met een primaire sleutel in SQL Server