Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Mysqldump có hỗ trợ thanh tiến trình không?

Cài đặt và sử dụng pv (nó có sẵn dưới dạng gói yum cho CentOS)

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

Giả sử kích thước mong đợi của tệp dumpfile.sql kết quả là 100m (100 megabyte), việc sử dụng pv sẽ như sau:

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

Đầu ra của bảng điều khiển sẽ giống như sau:

[===> ] 20%

Nhìn vào trang người đàn ông man pv để có nhiều lựa chọn hơn. Bạn có thể hiển thị tốc độ truyền hoặc thời gian đã trôi qua hoặc bao nhiêu byte đã chuyển và hơn thế nữa.

Nếu bạn không biết kích thước của tệp kết xuất của mình, có một cách để lấy kích thước của cơ sở dữ liệu MySQL từ table_schema - nó sẽ không phải là kích thước của tệp kết xuất của bạn, nhưng nó có thể đủ gần cho nhu cầu của bạn:

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;

Cập nhật

Theo kinh nghiệm của tôi, khi kết xuất toàn bộ máy chủ MySQL, kích thước thực tế không nén của kết xuất mysql (sử dụng tùy chọn mysqldump --hex-blob) là khoảng từ 75% đến 85% kích thước thực của dữ liệu MySQL thu được từ information_schema. Vì vậy, để có một giải pháp chung, tôi có thể thử những cách sau:

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. Làm cách nào để đặt bí danh một trường hoặc cột trong MySQL?

  2. Tập lệnh shell Linux để sao lưu cơ sở dữ liệu

  3. JDBC với MySQL thực sự chậm, không biết tại sao

  4. Cách kiểm tra xem tên người dùng đã tồn tại với PHP / MYSQL hay chưa

  5. Hiệu suất MYSQL HOẶC so với IN