$ mysqldump -u user -p dbname > backupfile.sql
Тут
user
– ім'я користувача для доступу до баз данихdbname
– назва бази даних, яку потрібно скопіюватиbackupfile.sql
– ім'я файлу, до якого зберегти резервну копію
Наприклад, створити копію бази TestBase
у файлі TestBase_backup.sql
можна таким чином:
$ mysqldump -u root -p TestBase > TestBase_backup.sql
Якщо потрібно зробити копію лише деяких таблиць з бази даних, назви цих таблиць потрібно перелічити одразу після назви бази даних:
$ mysqldump -u root -p TestBase table1 table2 table3 > TestBase_tables_backup.sql
Можна експортувати одразу кілька баз даних до одного файлу:
$ mysqldump -u root -p --databases TestBase Base2 Base3 > Bases_backup.sql
Також можна однією командою експортувати одразу всі бази даних:
$ mysqldump -u root -p --all-databases > alldb_backup.sql
Іноді буває корисним додати такі параметри:
DROP TABLE
перед кожною командою створення таблиці CREATE TABLE
. Це може бути корисним для імпорту таблиць, які вже існують у базі даних. Тоді їх буде автоматично видалено та замінено резервними копіями.LOCK TABLES
та UNLOCK TABLES
.Можна також стиснути архіватором експортовану копію баз даних “на льоту”:
$ mysqldump -u user -p dbname | gzip -9 > backupfile.sql.gz
Відновити резервну копію однієї бази даних:
$ mysql -u user -p dbname < backupfile.sql
Відновити резервну копію бази даних зі стисненого файлу:
$ gunzip < backupfile.sql.gz | mysql -u user -p dbname
mysqlimport -u [uname] -p[pass] [dbname] [backupfile.sql]