MySQL:: Re: jak zmenšit databázi MySQL
správně. Toto je omezení sdíleného souboru tabulky InnoDB. Pro server MySQL by bylo velmi nákladné zhutnit použitý prostor v souboru tablespace a zmenšit soubor. Představte si, že máte soubor 100GB tablespace a chcete jej znovu sestavit. Sestavení tabulky MySQL obvykle vyžaduje, aby staré i nové úložiště existovalo současně na disku během operace.
chování InnoDB je tedy ponechat prázdné místo a použít jej pro následné vložení nových verzí řádků.
viz:
chyba # 1287 http://bugs.mysql.com/bug.php?id=1287
chyba # 1341 http://bugs.mysql.com/bug.php?id=1341
jedním z řešení zmenšení sdíleného prostoru InnoDB je:
1. Zálohování * všechny * InnoDB tabulky s mysqldump.
2. Odhoďte všechny tabulky InnoDB.
3. Fyzicky odstraňte soubor ibdata1 na rozhraní souborového systému.
4. Restartujte MySQL Server, který znovu vytvoří nový malý soubor tablespace.
5. Obnovte všechny tabulky InnoDB, které podle potřeby rozšíří soubor tablespace.
dalším řešením je použít volbu pro uložení tabulek InnoDB do samostatného souboru na tabulku. Viz http://dev.mysql.com/doc/refman/5.0/en/multiple-tablespaces.html pokud tak učiníte, měli byste být schopni použít optimalizovat tabulku nebo změnit tabulku na každé tabulce InnoDB, kterou chcete zmenšit. To má přestavět .ibd Soubor pro jednotlivé tabulky.
S Pozdravem,
Bill K.