Portál AbcLinuxu, 21. listopadu 2025 20:24
Řešení dotazu:
mysqldump celou DB zamknout? Může vůbec použít mysqldump když používám MyISAM? Poradíte prosím jak tedy na to? Ještě podotknu, že DB má velikost v řádech několika GB a neustále se do ní zapisuje a načítá se z ní... Děkuji
mysqldump tu databázi zamkne automaticky pokud to nezakážete. Pokud je DB tak velká, bude záloha trvat docela dlouho. Počítejte s tím, že během zálohování nic do DB nezapíše a ani z ní nic nepřečte. Možná by pro Vás bylo opravdu lepší mít nastavenu replikaci a dělat zálohu na slave, kde zamčení DB nebude mít vliv na master databázi.
flush tables with readlock, tak sice k zamceni dojde, ale az po te, co dobehnou vsechny zrovna bezici dotazy. Muze se ti tak stat, ze do tabulky xy pujde nejaky dlouhotrvajici dotaz, ty to zamknes a zacnes kopirovat. mezitim dotaz dobehne a nestesti je na svete. na to je treba dat si pozor, a bud koukat, jestli jeste neco po zamceni do db jeste zapisuje, a nebo ji rovnou na tu chvili vypnout...
. Dříve jsem měl tabulky taky v MyISAM a zamykalo mi to komplet, jen si už nepamatuju jestli jsem to musel tomu mysqldumpu říkat sám nebo to udělal automaticky. Už je to nějakou dobu, co jsem je převedly na InnoDB a používam --single-transaction případně kopie datových souborů.
Pro původního tazatele, použijte tedy mysqldump s --lock-tables a záloha bude konzistentní.
--opt je „by default“ on.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.