Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Apakah mysqldump mendukung bilah kemajuan?

Instal dan gunakan pv (tersedia sebagai paket yum untuk CentOS)

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

Dengan asumsi ukuran yang diharapkan dari file dumpfile.sql yang dihasilkan adalah 100m (100 megabyte), penggunaan pv akan menjadi sebagai berikut:

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

Output konsol akan terlihat seperti:

[===> ] 20%

Lihat halaman manual man pv untuk lebih banyak pilihan. Anda dapat menampilkan kecepatan transfer, atau berapa banyak waktu yang telah berlalu, atau berapa banyak byte yang telah ditransfer, dan banyak lagi.

Jika Anda tidak tahu ukuran file dump Anda, ada cara untuk mendapatkan ukuran database MySQL dari table_schema - itu tidak akan menjadi ukuran file dump Anda, tetapi mungkin cukup dekat untuk kebutuhan Anda:

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;

Perbarui

Dalam pengalaman saya, ketika membuang seluruh server MySQL, ukuran sebenarnya dari dump mysql yang tidak terkompresi (menggunakan opsi mysqldump --hex-blob) kira-kira antara 75% hingga 85% dari ukuran langsung data MySQL yang diperoleh dari information_schema. Jadi untuk solusi umum, saya mungkin mencoba yang berikut ini:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menambahkan awalan semua tabel di mysql

  2. Tidak dapat terhubung ke database mysql dengan play-slick 1.0.1/slick 3.0 :kesalahan konfigurasi

  3. Kesalahan hanya baca MySQL yang aneh

  4. Subquery dengan LIMIT dalam Doktrin

  5. Pilih dan tampilkan hanya catatan duplikat di MySQL