Project

General

Profile

MySQL backup » History » Version 2

« Previous - Version 2/5 (diff) - Next » - Current version
Dmitry Chernyak, 11/23/2011 04:12 PM


MySQL backup

We're using the backup mysql via shutdown/startup.
There are some disadvantages, but, in common for many sites this will be a good choce because
  • This is much faster than the dump in the backup.
  • This is very much faster than the restoring from the dump.
  • This allowing to not differ between MyISAM and InnoDB.
  • This allowing to save traffic via duplicity's block-based incremental alogrithms (implemented via librsync).

To do the backup you have to place the following files in your mysql backup job's profile:
File "pre"

if [ `ps ax|grep mysqld|grep -v grep|wc -l` -eq 0 ]; then
  mysql_stopped=yes
  echo "Warning: MySQL is not running." 
else
  /etc/init.d/mysql stop
  sleep 5
  if [ `ps ax|grep mysqld|grep -v grep|wc -l` -gt 0 ]; then
    echo "Error: mysql is not stopped. Skiping backup" 
    exit 1
  fi
fi

File "post"

if [ -z "$mysql_stopped" ]; then
  /etc/init.d/mysql start
  sleep 5
  if [ `ps ax|grep mysqld|grep -v grep|wc -l` -eq 0 ]; then
    echo "Error: MySQL is not restarted properly. Take care." 
    exit 1
  fi
fi