Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да архивирате MySQL бази данни с помощта на cron задания

Тази статия описва как да настроите задание на cron, което автоматично архивира MySQL база данни във файл на определени интервали.

Автоматично архивиране на база данни с помощта на задания на cron

Има два начина за стартиране на задания на cron, които архивират MySQL база данни. Можете или да включите информация за вход в MySQL в самата команда за задание на cron, или можете да използвате конфигурационен файл, за да съхранявате информацията за вход в MySQL.

Метод №1:Включете информация за вход в MySQL в командата за задание на cron

Можете да стартирате планирано архивиране на MySQL база данни, като създадете задание за cron, което изпълнява следната команда:

/usr/bin/mysqldump --routines -u dbusername -p'dbpassword' dbname > ${HOME}/path/backup.sql

Заменете dbusername с потребителя на базата данни, dbpassword с паролата на потребителя на базата данни, dbname с базата данни за архивиране и пътя с пътя, където искате да съхранявате архивния файл. Този пример използва backup.sql за името на файла на резервното копие, но можете да използвате всяко име на файл, което желаете.

  • Единичните кавички (') около паролата гарантират, че всички специални знаци се обработват правилно.
  • Когато командата се изпълнява успешно, не се генерира изход. Въпреки това, ако има грешка или неправилна конфигурация, в зависимост от конфигурацията на акаунта ви може да получите имейл съобщение, което съдържа изхода на командата. За да потиснете имейл съобщенията, когато командата не успее, добавете следния текст в края на командата cron job:
    2>/dev/null

    Повечето хора обаче искат да бъдат уведомени, когато задача на cron не успее.

За информация как да използвате cPanel за създаване на работа за cron, моля, вижте тази статия.

Метод №2:Използвайте конфигурационен файл за съхраняване на информация за вход в MySQL

Като алтернатива можете да създадете конфигурационен файл във вашата домашна директория, който съхранява информация за вход в MySQL. Използвайки този метод, не е нужно да включвате информация за влизане в командите на заданието на cron. За да направите това, изпълнете следните стъпки:

  1. Създайте файл с име .my.cnf във вашия /home/ директория с потребителско име, заменяйки потребителското име с потребителското име на вашия акаунт. Уверете се, че сте включили водещото . в името на файла.
  2. Копирайте и поставете следния текст в .my.cnf файл. Заменете dbusername с потребителя на базата данни и заменете dbpassword с паролата на потребителя на базата данни:
    [client]
    user = dbusername
    password = "dbpassword"
    host = localhost
  3. Създайте задание за cron, което изпълнява следната команда. Заменете dbname с името на базата данни за архивиране и заменете пътя с пътя за съхраняване на архивния файл. Този пример използва backup.sql за името на файла на резервното копие, но можете да използвате всяко име на файл, което искате:

    mysqldump --routines dbname > /path/backup.sql

    Когато командата се изпълнява успешно, не се генерира изход. Въпреки това, ако има грешка или неправилна конфигурация, в зависимост от конфигурацията на акаунта ви може да получите имейл съобщение, което съдържа изхода на командата. За да потиснете имейл съобщения, когато командата не успее, добавете следния текст в края на командата за задание на cron:

    2>/dev/null

    Повечето хора обаче искат да бъдат уведомени, когато задача на cron не успее.

    За информация как да използвате cPanel за създаване на работа за cron, моля, вижте тази статия.

Повече информация

За повече информация относно mysqldump програма, моля, посетете http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MYSQL импортира данни от csv с помощта на LOAD DATA INFILE

  2. MySQL подреждане по най-добро съвпадение

  3. Как да зададете набора от символи и съпоставяне на база данни в MySQL

  4. MySQL извлича променлива от Съхранена процедура в PHP PDO

  5. MySQL – Как да махна таблица, ако съществува в базата данни?