2013-11-27 18 views
11

Tôi đang chạy NDB Cluster và tôi thấy rằng trên các nút api mysql, có một bảng nhật ký nhị phân rất lớn.Giảm kích thước của MySQL NDB binlog

+---------------------------------------+--------+-------+-------+------------+---------+ 
| CONCAT(table_schema, '.', table_name) | rows | DATA | idx | total_size | idxfrac | 
+---------------------------------------+--------+-------+-------+------------+---------+ 
| mysql.ndb_binlog_index    | 83.10M | 3.78G | 2.13G | 5.91G  | 0.56 | 

Có cách nào được khuyến nghị để giảm kích thước mà không làm hỏng bất kỳ thứ gì không? Tôi hiểu rằng điều này sẽ hạn chế khung thời gian để khôi phục điểm trong thời gian, nhưng dữ liệu đã phát triển ngoài tầm tay và tôi cần làm một chút để dọn dẹp.

+0

Câu trả lời của tôi có giúp bạn không? – Shawn

Trả lời

4

Có vẻ như điều này là có thể. Tôi không thấy bất cứ điều gì ở đây: http://dev.mysql.com/doc/refman/5.5/en/mysql-cluster-replication-pitr.html nói rằng bạn không thể dựa vào kỷ nguyên cuối cùng.

Một số thông tin bổ sung có thể đạt được bằng cách đọc bài viết này:

http://www.mysqlab.net/knowledge/kb/detail/topic/backup/id/8309

Các mysql.ndb_binlog_index là một bảng MyISAM. Nếu bạn đang làm sạch nó, đảm bảo bạn không xóa các mục nhập của nhật ký nhị phân mà bạn vẫn cần.

+0

Vì vậy, chỉ sao lưu/kết xuất và 'TRUNCATE TABLE' sẽ thực hiện công việc ... – Palec

+0

Điều đó có đảm bảo các hoạt động khác sẽ không thành công không? Bởi các hoạt động khác, tôi có nghĩa là thêm một nút dữ liệu hoặc một nút API, và/hoặc khởi động lại một nút dữ liệu bị lỗi và các hoạt động tương tự khác. Về cơ bản, bất kỳ ý tưởng gì mà "bạn vẫn cần" có nghĩa là chính xác? –

+0

Có vẻ như kỷ nguyên cuối cùng phải đủ để chứa (các) nút được đề cập đến. Có vẻ như bạn muốn giữ các bản ghi nhị phân cũng từ kỷ nguyên đó trở đi để chúng có thể được phát lại. Nguồn thứ hai giải thích các bước trong tình huống 2 nút để tham khảo. – Shawn

Các vấn đề liên quan