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.