Làm cách nào để tạo binlog-format = ROW mặc định khởi động trong tệp /etc/my.cnf?


9

Tôi có thể chạy truy vấn SET GLOBAL binlog_format = 'ROW' và nó hoạt động cho phiên đó.

Làm cách nào để tạo cài đặt này sau khi dừng và khởi động lại MySQL?

LƯU Ý: Tôi đang dùng phiên bản 5.5.19 của MySQL (với Moodle) và tôi vừa nâng cấp từ MyISAM lên InnoDB và do đó cần cài đặt mới này.

Tôi đã thử thêm hai lệnh này (riêng biệt) vào my.cnf: binlog-format = ROWbinlog_format = ROW và không hoạt động. Tôi đã dừng và khởi động lại MySQL mỗi lần tôi thay đổi my.cnf.

Lỗi tôi nhận được mà không được đặt là thông báo lỗi bất chính:

Thông tin gỡ lỗi: Không thể thực hiện câu lệnh: không thể ghi vào nhật ký nhị phân vì BINLOG_FORMAT = STATMENT và ít nhất một bảng sử dụng công cụ lưu trữ giới hạn ghi nhật ký theo hàng. InnoDB bị giới hạn ghi nhật ký hàng khi mức cô lập giao dịch được ĐỌC hoặc ĐỌC KHÔNG HOÀN THÀNH.

Câu trả lời:


15

Tôi nghĩ vấn đề của bạn có thể xuất phát từ nơi bạn đã viết chỉ thị

Đảm bảo bạn đặt tùy chọn bên dưới [mysqld]tiêu đề trong /etc/my.cnf

[mysqld]
binlog_format = ROW

Nếu bạn đặt nó dưới bất kỳ tiêu đề nào khác, quy trình mysqld sẽ không nhìn thấy nó.

Hãy thử một lần !!!


Điều này đã làm việc! Vâng, đó là dưới một tiêu đề khác.
Constance

0

3 giá trị cho binlog_format

[mysqld]
binlog_format = ROW
[mysqld]
binlog_format = STATEMENT
[mysqld]
binlog_format = MIXED
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.