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

Làm cách nào để làm chậm kết xuất MySQL để không ảnh hưởng đến tải hiện tại trên máy chủ?

Tôi có cơ sở dữ liệu rất lớn với hàng chục nghìn bảng, một số trong đó có tới 5GB dữ liệu trong 10 triệu mục nhập. (Tôi điều hành một dịch vụ phổ biến) ... Tôi luôn đau đầu khi sao lưu các cơ sở dữ liệu này. Sử dụng mysqldump mặc định, nó nhanh chóng làm cho máy chủ tải ngoài tầm kiểm soát và khóa mọi thứ ... ảnh hưởng đến người dùng của tôi. Việc cố gắng dừng quá trình có thể dẫn đến các bảng bị lỗi và rất nhiều thời gian chết trong quá trình khôi phục các bảng đó.

Bây giờ tôi sử dụng ...

mysqldump -u USER -p --single-transaction --quick --lock-tables=false DATABASE | gzip > OUTPUT.gz

tham chiếu mysqldump tại dev.mysql.com thậm chí còn nói ...

Không nói gì về việc phụ thuộc vào cơ sở dữ liệu là InnoDB, của tôi là myISAM và điều này đã hoạt động tốt đối với tôi. Tải máy chủ gần như hoàn toàn không bị ảnh hưởng và dịch vụ của tôi chạy như một chiếc Rolex trong toàn bộ quá trình. Nếu bạn có cơ sở dữ liệu lớn và việc sao lưu chúng đang ảnh hưởng đến người dùng cuối của bạn ... thì đây là giải pháp.;)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Khi nào sử dụng dấu ngoặc kép, dấu ngoặc kép và dấu ngoặc kép trong MySQL

  2. Khôi phục sau khi truy vấn cập nhật MySQL sai?

  3. Có sự khác biệt nào giữa DATE_SUB () và việc sử dụng toán tử số học để tính ngày giờ không?

  4. Nhận tất cả các bản ghi từ cơ sở dữ liệu MySQL trong Google Maps .getBounds?

  5. Truy vấn MySQL không hoạt động khi sử dụng biến php trong mệnh đề where