Nhật ký nhị phân MySQL - bỏ qua một bảng


9

Có cách nào để bỏ qua một bảng cụ thể trong nhật ký nhị phân không?

Tôi đã có các bản ghi nhị phân được định cấu hình như chiến lược sao lưu gia tăng giữa các bản sao lưu hàng đêm. Nhưng chúng tôi có một bảng tham chiếu khổng lồ mà chúng tôi sẽ cập nhật hàng đêm từ quy trình hàng loạt (bảng 70 GB). Bảng này chỉ được đọc và được cập nhật hàng đêm bằng cách sử dụng mysqlimport.

Trong quá trình cập nhật cho bảng chỉ tham chiếu này, các bản ghi nhị phân đang gây ra sự chậm trễ khá nghiêm trọng (đặc biệt là khi tôi thực hiện cập nhật 70GB đầy đủ). Về cơ bản, nó phải làm 70GB. kinh quá.

Bảng tham chiếu hiện đang sử dụng MyISAM (Tôi đã sử dụng InnoDB để tải nó, vì vậy hãy thử MyISAM).


Máy chủ DB này có phải là Máy chủ DB độc lập không? Máy chủ DB này là Master hay Slave?
RolandoMySQLDBA

Câu trả lời:


9

Không có tùy chọn mysql để bỏ qua một bảng trong nhật ký nhị phân.

Nếu bạn có thể di chuyển bảng sang một cơ sở dữ liệu riêng biệt, bạn có thể sử dụng tùy chọn binlog-ign-db , nhưng điều này có vấn đề . Bạn nên hiểu cách MySQL đánh giá các quy tắc nhân rộng .

Nếu bạn có thể viết tập lệnh bao bọc để tải dữ liệu thay vì mysqlimport (trang này nói rằng đó là giao diện dòng lệnh cho LOAD DATA INFILE) và người dùng bạn đang nhập dữ liệu có thể có đặc quyền SUPER bạn có thể sử dụng biến phiên sql_log_bin giống:

    SET @@session.sql_log_bin=0;
    LOAD DATA INFILE 'file_name' 
      -- other LOAD DATA INFILE options ;
    SET @@session.sql_log_bin=1;

Điều này sẽ vô hiệu hóa ghi nhật ký nhị phân cho phiên hiện tại, tải dữ liệu và cho phép đăng nhập lại nhị phân.


Vô hiệu hóa ghi nhật ký nhị phân trong quá trình tải, tuyệt vời, chính xác những gì tôi đang tìm kiếm, đây là một giải pháp rất khả thi!
David park

3

bạn có thể dùng --replicate-ignore-table=db_name.tbl_name

Xem http://dev.mysql.com/doc/refman/5.1/en/replication-options-slave.html#option_mysqld_Vplicate-ignore-table để biết chi tiết.


6
Vấn đề với điều này là bảng sao chép bỏ qua là một cài đặt nô lệ , do đó, chủ sẽ tạo ra vô số các mục binlog, chúng được chuyển sang nô lệ (ăn băng thông / không gian trong quy trình) và sau đó chỉ bị bỏ qua. Sẽ không hiệu quả hơn nhiều nếu không tạo ra các mục đó ở vị trí đầu tiên.
SVD
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.