Introducere
Aceasta este de fapt o schimbare în amonte. Unele distribuții ar putea schimba setarea înapoi, dar este posibil ca majoritatea să urmeze doar în amonte.
Baza de cod este găzduită pe https://github.com/mysql/mysql-server
Fișierul real în care înregistrarea binară este activată implicit este
sql/sys_vars.cc
Săpând prin vina, în cele din urmă am reușit să comitem care a schimbat valoarea implicită:
https://github.com/mysql/mysql-server/commit/9fa9504e5aaf68661aef2d735cecbd3c58eb7790
Menționează un articol de jurnal de lucru pentru echipa mysql: #10470.
Le poți căuta aici: https://dev.mysql.com/worklog/
The Secțiunea justificare din acel articol Worklog oferă următoarele:
Motivație
Aproape toate instalațiile de producție au jurnalul binar activat pe măsură ce este utilizat
pentru replicare și recuperare punct-in-time.
Având în vedere acest lucru, ar trebui să îl avem activat în mod implicit din următoarele motive:
- Eliminăm un singur pas de configurare pentru utilizatori.
1A. Activarea acestuia mai târziu necesită o repornire mysqld.
- Primim mai multe teste interne de producție ale serverului.
- Putem cunoaște mai bine și putem face față impactului de performanță al jurnalului binar
Expirare
În mysql 8.0 expirarea implicită pentru fișierele jurnal este 30 de zile
, guvernată de variabilă binlog_expire_logs_seconds
, care este implicit 2592000 secunde
. Pentru ca o purjare să aibă loc efectiv, trebuie să existe o spălare a buștenilor. Conform documentației, o curățare a jurnalului are loc automat atunci când un fișier jurnal binar este închis și începe unul nou. Dimensiunea maximă a fișierelor individuale poate fi guvernată de max_binlog_size
care este max 1 GB. Cu toate acestea, există o avertizare că tranzacțiile nu sunt împărțite în fișiere jurnal și, teoretic, ar putea fi de până la 4 GB. De asemenea, puteți emite un spălați jurnalele
sau a curățați jurnalele binare
declarație zilnică însuți.