2012-02-09 16 views
21
sao chép

MySQL đã bị phá vỡ với sự lỗi cuối cùng làMySQL sao chép Lỗi 'Bạn có thể không phải là 'ALTER' một bảng đăng nhập nếu khai thác gỗ được kích hoạt' trên truy vấn

Last_Errno: 1580 Last_Error: Error 'You cannot 'ALTER' a log table if logging is enabled' on query. Default database: 'mysql'.

Có vẻ đây là lỗi của chạy mysql_upgrade cho phiên bản 5.1. 61 Tôi đã tìm thấy một vài báo cáo lỗi nhưng không tìm thấy cách khắc phục tình huống sau khi nâng cấp đã được thực hiện trên máy chủ.

Bất kỳ ý tưởng nào?

Refs: http://bugs.mysql.com/bug.php?id=39133 http://bugs.mysql.com/bug.php?id=43579 http://bugs.mysql.com/bug.php?id=46638

+0

này nghe có vẻ thực sự như lỗi này với tôi: [MySQL lỗi # 43.579 ] (http://bugs.mysql.com/bug.php?id=43579) – gertvdijk

Trả lời

38

Có vẻ tôi sẽ trả lời các câu hỏi của riêng tôi. Cố gắng thay đổi bảng nhật ký trong khi đăng nhập được bật sẽ tạo ra lỗi. Tôi thực sự không hiểu làm thế nào MASTER có thể thực hiện truy vấn đó vì nó có cùng một vị trí đăng nhập và nếu nó đã làm, thì tại sao SLAVE không thể làm như vậy? Tôi sẽ rất vui khi đọc giải thích nhưng bây giờ chúng ta hãy tập trung vào giải pháp.

Để xem lỗi đó đã phá vỡ sự tái tạo thực hiện

SHOW SLAVE STATUS\G and you will see the trouble making query

Bây giờ bạn có thể ngăn chặn sự nô lệ

STOP SLAVE;

Disable các bản ghi liên quan (không sao chép + dán này nhưng kiểm tra cấu hình của riêng bạn đầu tiên!):

SET GLOBAL slow_query_log = 'OFF';

Khởi động lại nô lệ

START SLAVE;

Xem không có lỗi được hiển thị trên

SHOW SLAVE STATUS\G

và cho phép các bản ghi liên quan một lần nữa:

SET GLOBAL slow_query_log = 'ON';

Hãy cho tôi biết nếu điều này giúp đỡ.

+8

không cần phải tắt sql_log_bin. – kenn

+1

Làm việc tuyệt vời, cảm ơn bạn. –

+1

Vô hiệu hóa sql_log_bin là không cần thiết và nguy hiểm hơn nhiều so với việc tạm thời tắt slow_query_log. Câu trả lời của Daniel Caillibaud an toàn hơn. – richardkmiller

22

Tôi có một bản sao master-master, vì vậy tôi không thể ngừng bản ghi nhị phân trên nô lệ nhưng

STOP SLAVE; 
SET GLOBAL slow_query_log = "OFF"; 
START SLAVE; 
SET GLOBAL slow_query_log = "ON"; 

giải quyết pb tôi

+0

Tò mò, nhưng tại sao lại kích hoạt slow_query_log trên slave nếu nó được biết là gây ra vấn đề? Giá trị gì có trong đó có bật trên nô lệ khi nó đã được kích hoạt trên tổng thể? – jwg2s

+0

@ jwg2s slave thường sẽ có các truy vấn chỉ đọc khác nhau được thực hiện trên nó (trừ khi nó hoàn toàn là để sao lưu), vì vậy bạn sẽ muốn biết nếu có bất kỳ cái nào chậm –

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