ПредишенСледващото

За съжаление база данни InnoDB работи на принципа на една игла, т.е. да взриви, има ... Обяснявайки това наличното пространство yazykom- маса може едновременно да се разширява и свива, но физическият размер на базата данни с промените само в посока на увеличаване. Казано по-просто, ако сте база е с максимална 20gigov, и след това можете да го почистват освобождава 90% от пространството вътре в базата ще бъде свободен до 90% (виж пространството може да бъде екип в конзолата за управление на сървър: статус MySQL> шоу маса), но извън него и ще отнеме на диска 20 Gig на физическото пространство на твърдия диск. Така че за мен, един от сървърите, той успя да расте, докато аз Prochukhan факта, че той е забравил да зададете skriptik почистване, 250 концертите, които, разбира се, работи като часовник, но най-екшън фигурки ми лази по нервите. В тази връзка, необходимо е да се направи нещо. Но има само един начин, а именно, да изпревари база в SQL сметище и я затегнете обратно, по-рано съществуващото dropnuv чудовище. В тази връзка, точно както да дефрагментирате пространство за таблици, нашият най-добър приятел е полезност система mysqldump, част от стандартната доставка на пратки MySQL сървър.

*** За да дефрагментирате InnoDB също могат да използват метода на двойна дестилация база, с помощта на командата ALTER да го превърне в един вид `MyISAM", а след това обратно към вида InnoDB.
Тази програма ви позволява да направите един миг впечатление на базата данни (на instantaneity разбира се, че е просто красива, за да slovtsa- половин концерт мина 7 минути, 250 са били държани в продължение на 2,5 часа), което е текстов файл с набор от SQL команди, за да създавате и попълвате таблици.
Всъщност Първи стъпки:

# Mysqldump -uSQL_USER_EXIM -p EXIM_DATABASE> /tmp/exim.sql

-ф или -user = - потребителското име
-р -password - искане парола
exim_database - името на базата данни
exim.sql - сметище файл за изход

в даден момент може да бъде zagnatv изхвърлят няколко бази данни, да ги наречем един по един, след -В на опция или -databases:

# Mysqldump -uSQL_USER_EXIM -р database1 -В database2 database3> /tmp/database.sql

Можете също да премахнете сметището всички таблици, ако използвате -А изявление или -всички-бази данни:

# Mysqldump -uSQL_USER_EXIM -p -А> /tmp/database.sql

Тази операция ще отнеме известно време и дисково пространство, в зависимост от обема на SQL база данни.

След тази спирка MySQL сървър

*****
С версия 6.x достъпно т.нар онлайн резервно копие на всички видове бази данни. Нейните отличителни черти е, че тя не блокира изпълнението на INSERT / обновяване / изтриване и изпълняват прости команди:
архивиране на базата данни за
ВЪЗСТАНОВЯВАНЕ [OVERWRITE]
*****

Направете резервно копие на базата данни, която се очаква да изнася от папката% MySQL% / данни за пренаписване файла с базата данни и InnoDB дневника и съответната папка с файлове * .frm в най-уединено място на винта.

След това извадете масата и съответните файлове и работи на сървъра:

Сървърът е малко мисъл и да се възстанови празна база данни InnoDB и тогава можем да го излее в нашия архив. Това може да стане по два начина, или от командния ред:

# Mysql -uSQL_USER_EXIM -p EXIM_DATABASE

или от конзолата на сървъра:

MySQL> използва EXIM_DATABASE;
MySQL> източник exim.sql

Тогава гледате работата и диск размер на заема база.
******
Няколко съвета:

С ограничени ресурси, по-голямата част паметта или база данни, трябва да използвате опцията -quick или -opt, той ще започне да се направи сметището на полезност mysqldump база данни, без да му предварително заредени в паметта.

Той може да бъде необходимо да се посочи кодирането, в които бихте искали да се получи изхвърляне на вашата база данни, се използва за тази опция -default-герой-комплект =

Опцията -f ще позволи да продължи да изпълнява резервна дори когато грешка в хода на процедурата.

Удобен команда за автоматично архивиране с компресия:
mysqldump -uROOT -pPASSWD DBNAME | софтуерна -С> `дата" +% Y-% м. - "` .gz

Възможно е също така rezervirovatna отдалечен хост:
mysqldump -uROOT -PNUMBER_PORT -hHOST -pPASSWD DBNAME

Свързани статии

Подкрепете проекта - споделете линка, благодаря!