MySQL е многопотребителска, многопоточна система за управление на бази от данни.
Рано или късно на потребителите се налага да направят резервно копие (backup) на своите бази данни и на по-късен етап, да го възстановят (restore).
В настоящата статия ще ви покажем как да направите резервно копие (backup) и как да го възстановите (restore).
Запазване на една база
Може да използвате mysqldump за създаване на backup чрез следната команда:
mysqldump -u [username] -p [password] [databasename] > [backupfile.sql]
[username] – потребителят, който използвате за достъп до базата данни
[password] – паролата за достъп до базата данни
[databasename] – името на базата данни
[backupfile.sql] – файлът, в който ще се запише backup-ът.
Пример:
mysqldump -u root -p Customers > custback.sql
Може да зададете и определени таблици от базата данни, на които искате да направите backup. Ако искате да запазите само таблиците php_tutorials и mysql_tutorials от базата данни Tutorials, то може да използвате следната команда:
mysqldump -u root -p Tutorials php_tutorials mysql_tutorials > tut_backup.sql
Backup на повече от една база данни
Понякога се налага да запазите повече от една база данни. В този случай може да използвате опцията –database, последвана от списък на базите данни, които искате да запазите. Базите данни трябва да бъдат разделени с празно място:
mysqldump -u root -p --databases Tutorials Articles Comments > content_backup.sql
Backup на всички бази данни
Ако искате да запазите всички бази данни може да използвате опцията –all-databases.
mysqldump -u root -p --all-databases > alldb_backup.sql
Запазване и компресиране на база данни
Ако базата данни е много голяма, може да се наложи да я компресирате. Това става със следната команда:
mysqldump -u [uname] -p[pass] [dbname] | gzip -9 > [backupfile.sql.gz]
Ако искате да разархивирате .gz файла, използвайте следната команда:
gunzip [backupfile.sql.gz]
Възстановяване на MySQL база данни
В горните примери запазихме базата данни Tutorials във файла tut_backup.sql. За да възстановите базата данни, изпълнете следните стъпки:
Създайте новата база данни и възстановете данните:
mysql -u [uname] -p[pass] [db_to_restore] < [backupfile.sql]
Пример:
mysql -u root -p Tutorials < tut_backup.sql
Възстановяване на компресирана база данни:
За да възстановите компесирана база данни, използвайте следната команда:
gunzip < [backupfile.sql.gz] | mysql -u [uname] -p[pass] [dbname]
Възстановяване на всички бази данни:
mysql -u [username] -p[pass] < backup.sql
Възстановяване на база данни, която съществува
Ако се налага да възстановите база данни, която вече съществува:
mysqlimport -u [uname] -p[pass] [dbname] [backupfile.sql]
Копирането е забранено без изричното съгласие на vGuides.net