Mysql 4

4.9.4. Bináris naplófájlok frissítése

A bináris napló tartalmazza a frissítési naplóban rendelkezésre álló összes információt egy hatékonyabb formátumban. Információt tartalmaz az adatbázisok frissítését végző lekérdezések végrehajtási idejéről is. Nem tartalmaz információkat olyan lekérdezésekről, amelyek nem módosítják az adatokat. Ha minden kérelmet be kell jelentenie (például a problémás lekérdezés azonosításához), akkor egy közös lekérdezési naplót használjon. Lásd: 4.9.2. Szakasz, "Közös lekérdezési napló".

A bináris naplót akkor is használják, ha a slave kiszolgálót replikálja a mesterből (lásd: 4.10. Szakasz, "Replication to MySQL").

A --log-bin [= file_name] kapcsolóval futtatva a mysqld létrehoz egy naplófájlt, amely információkat tartalmaz az összes SQL adatfrissítési parancsról. Ha a fájlnév nincs megadva, akkor alapértelmezés szerint egy hostnév lesz megadva a -bin end paranccsal. Ha olyan fájlnév van megadva, amely nem tartalmaz útvonalat, akkor a fájl az adatkönyvtárba kerül.

Ha a kiterjesztést egy fájlnévbe írja be (például: --log-bin = fájlnév.extension), akkor ez a kiterjesztés figyelmeztetés nélkül törlődik.

A bináris naplófájl nevére a mysqld program egy speciális kiterjesztést ad hozzá, amely minden mysqladmin refresh paranccsal nő. mysqladmin flush-log. FLUSH LOGS, vagy indítsa újra a kiszolgálót. Amikor a naplófájl eléri a max_binlog_size paraméterben megadott maximális méretet. egy új automatikusan létrejön. Minden inaktív bináris naplófájl törölhető a RESET MASTER parancs segítségével (lásd 4.5.4. Szakasz, "A RESET parancs szintaxisa".

A következő mysqld beállítások befolyásolják a naplóba írt adatok kiválasztását.

Azt mondja a fejkiszolgálónak, hogy naplózza a bináris napló frissítéseit, ha az aktuális (azaz kiválasztott) adatbázis "adatbázisnév". A fennmaradó adatbázisokat, amelyek nem különösebben jelennek meg, figyelmen kívül hagyják. Ne feledje, hogy ha ezt az opciót használja, akkor csak az adatbázisban végezzen frissítéseket. (például: binlog-do-db = valamilyen adatbázis)

A mester megtagadja egy adott adatbázis frissítését (például: binlog-ignore-db = some_database)

Annak megállapításához, hogy melyik naplófájlokat használják, a mysqld létrehoz egy indexfájlt, amely tartalmazza a munka összes fájljának nevét. Alapértelmezés szerint ugyanaz a név, mint a naplófájl, de a .index kiterjesztéssel. A fájl neve megváltoztatható a --log-bin-index = [fájlnév] paraméterrel.

Ha replikációt használ, akkor nem kell törölnie a régi naplófájlokat, amíg biztos nem lesz abban, hogy soha nem lesz szüksége semmilyen függő adatbázisra. Ezt az eredményt úgy érheti el, hogy naponta egyszer elindítja a mysqladmin flush-logs parancsot, majd törli a nap 3 napnál régebben létrehozott naplókat.

Bináris naplófájlokkal dolgozhat a mysqlbinlog programmal. A MySQL frissítéséhez a napló bejegyzései szerint a következőket teheti:

A mysqlbinlog program segítségével akár naplófájlokat is olvashatsz közvetlenül egy távoli MySQL kiszolgálóról!

Amikor a mysqlbinlog a --help opcióval kezdődik, további információ jelenik meg a program használatával kapcsolatban.

Amikor a BEGIN [MUNKA] vagy SET AUTOCOMMIT = 0 beállításokkal dolgozik, akkor bináris naplót kell használnia a biztonsági mentéshez, és nem a régi frissítési naplót.

A bináris naplóban történő adatbevitel közvetlenül a kérés végrehajtása után történik, de a blokkolás feloldása előtt. Ily módon biztosítható, hogy a napló a lekérdezés végrehajtásának sorrendjében maradjon.

A nem tranzakciós táblák frissítései közvetlenül a végrehajtás után a bináris naplóban tárolódnak.

A nem tranzakciós táblák frissítései közvetlenül a végrehajtás után a bináris naplóban tárolódnak. Minden frissítés (UPDATE. DELETE és INSERT), változó adatokat a tranzakciós táblázatok (például BDB asztal) gyorsítótárazásáig amíg COMMIT hívást. Ezen a ponton a mysqld írja az egész tranzakciót a bináris naplóba a COMMIT végrehajtása előtt. Minden egyes indításkor létrehozott szál a pufferre vonatkozó kérésekhez a binlog_cache_size méretű puffert hoz létre. Ha a kérés meghaladja ezt a méretet, akkor a szál megnyit egy ideiglenes fájlt a tranzakció mentéséhez. Az ideiglenes fájl törlődik, amikor a szál kilép.

Amikor elindítja az egyes szálakat, létrehoz egy lekérdező puffert, amelynek mennyisége megfelel a binlog_cache_size paraméter értékének. Ha a kérés nem illeszkedik a pufferbe, a stream létrehoz egy ideiglenes fájlt a gyorsítótár számára. Az ideiglenes fájl törlődik, amikor a szál befejeződik.

A max_binlog_cache_size (alapértelmezésben 4GB) paraméter lehetővé teszi a multitransziációs kérelem gyorsítótárának teljes memóriájának korlátozását. Ha a tranzakció nagyobb, mint ez, vissza fog kerülni.

Ha frissítési naplót vagy bináris naplót használ, akkor a párhuzamos betét műveletek a CREATE parancsok normál beillesztési műveleteiké alakulnak át. SELECT és INSERT. SELECT. Ez kifejezetten megtörténik - annak biztosítása érdekében, hogy a táblázatok pontos másolatát a biztonsági másolatot a naplóval kombinálják.

Kapcsolódó cikkek