giới thiệu
Đây thực sự là một thay đổi ngược dòng. Một số bản phân phối có thể thay đổi lại cài đặt, nhưng có khả năng là hầu hết sẽ chỉ đi ngược dòng.
Cơ sở mã được lưu trữ trên https://github.com/mysql/mysql-server
Tệp thực tế nơi ghi nhật ký nhị phân được BẬT mặc định, là
sql/sys_vars.cc
Tìm hiểu kỹ những lời đổ lỗi, cuối cùng tôi đã xác định được cam kết đã thay đổi mặc định:
https://github.com/mysql/mysql-server/commit/9fa9504e5aaf68661aef2d735cecbd3c58eb7790
Nó đề cập đến một Mục nhật ký công việc cho nhóm mysql: #10470.
Bạn có thể tra cứu chúng ở đây: https://dev.mysql.com/worklog/
Các phần cơ sở lý luận của mục Worklog đó cung cấp điều này:
cơ sở lý luận
Gần như tất cả các cài đặt sản xuất đều có nhật ký nhị phân được bật khi nó được sử dụng
để sao chép và phục hồi tại thời điểm.
Do đó, chúng ta nên bật nó theo mặc định vì những lý do sau:
- Chúng tôi loại bỏ một bước cấu hình cho người dùng.
1A. Kích hoạt nó sau này yêu cầu khởi động lại mysqld.
- Chúng tôi nhận được nhiều thử nghiệm nội bộ giống như sản xuất hơn của máy chủ.
- Chúng ta có thể biết rõ hơn và đối mặt với tác động hiệu suất của nhật ký nhị phân
hết hạn
Trong mysql 8.0, thời hạn mặc định cho logfiles là 30 ngày
, bị chi phối bởi biến binlog_expire_logs_seconds
, mặc định là 2592000 giây
. Để một cuộc thanh lọc thực sự xảy ra, phải có một bản ghi được xóa. Theo tài liệu, việc xóa nhật ký tự động xảy ra khi một tệp nhật ký nhị phân bị đóng và một tệp nhật ký mới bắt đầu. Kích thước tối đa của các tệp riêng lẻ có thể được điều chỉnh bởi max_binlog_size
đó là tối đa 1GB. Tuy nhiên, có một cảnh báo trước rằng các giao dịch không được chia thành các tệp nhật ký và về mặt lý thuyết, chúng có thể lên tới 4GB. Bạn cũng có thể phát hành một nhật ký tuôn ra
hoặc một thanh lọc nhật ký nhị phân
tuyên bố hàng ngày chính mình.