Създаване архив на MySQL база данни през SSH

Помощен център

Създаване архив на MySQL база данни през SSH

Както винаги сме подчертавали, когато се работи през SSH нещата се случват бързо и лесно, ако и използването на тези две определения в едно изречение да събужда предимно негативни асоциации.

Създаване архив на MySQL база данни през SSH

В случая за да архивираме MySQL база данни през SSH трябва да изпълним следните стъпки (след като първо се логнем през SSH, разбира се):

  • да влезем в директорията на сайта
  • да създадем директория за архивите, ако такава не съществува
  • да изпълним само една команда (!) - mysqldump -u [username] -p[password] [databaseName] > [backup-name].sql където username, password и databaseName са данните за конкретната база данни.
  • да въведем паролата на базата данни

backup mysql ssh

Ето и списък с използваните команди:

mkdir icncom_db
mysqldump -u user_icncom -p user_icncom > icncom_db/backup_icncom_171217.sql
Enter password:
ls -la icncom_db/
backup_icncom_171217.sql

Създаване архив на таблица в MySQL база данни през SSH

За да създадем архив на MySQL таблица(и) трябва в същата команда след името на базата да добавим името на таблицата (таблиците):

mysqldump -u [username] -p[password] [databaseName] [tableName]> [backup-name].sql
mysqldump -u [username] -p[password] [databaseName] [tableName] [tableName] > [backup-name].sql

Скобите служат само да направят примера по-разбираем - при реално изпълнение на команди се въвеждат само имената.

backup mysql ssh

Ето и списъка с командите:

mysqldump -u user_icncom -p user_icncom cache_users > icncom_db/backup_icncom_tbl_users_171217.sql
Enter password:
mysqldump -u user_icncom -p user_icncom cache_users cache_termmeta > icncom_db/backup_icncom_tbl_users_termmeta_171217.sql
Enter password:
ls -la icncom_db/
backup_icncom_tbl_users_171217.sql
backup_icncom_tbl_users_termmeta_171217.sql

Това е всичко - за по-малко от минута трите архива са създадени.

Новата директория /icncom_db/ съдържа трите архива:

  • на цялата база данни - backup_icncom_171217.sql
  • на таблицата cache_users - backup_icncom_tbl_users_171217.sql
  • на таблиците cacheusers и cachetermmeta - backup_icncom_tbl_users_termmeta_171217.sql

Ако в името на архивния файл вместо идентификатора за дата 171217 въведете фунцията $(date +%F) сървъра ще добавя автоматично датата към името на архива:

backup mysql ssh

mysqldump -u user_icncom -p user_icncom > icncom_db/backup_icncom_$(date +%F).sql
Enter password:
ls -la icncom_db/
backup_icncom_2017-12-17.sql