首页 > 代码库 > MySQL - 定时备份

MySQL - 定时备份

  • 创建备份目录,在这里以/root/bak/mysql为例:

    cd   mkdir bakcd bakmkdir mysql
  • 在/usr/sbin下touch一个sh:

    cd /usr/sbintouch myDBbackup.sh

    内容如下:

    #!/bin/bash#Name:myDBbackup.sh  backupdir=bak/mysql  time=` date +%Y%m%d%H%M `mysqldump --login-path=local appleague | gzip > $backupdir/myDB$time.sql.gz
  • mysqldump不支持在命令行中直接输入密码,需要执行以下操作:

    mysql_config_editor set --login-path=local --host=localhost --user=username --password

    然后便可以这样登录了:

    mysql --login-path=local  -e "statement"
  • 设置定时执行
    也许你可以写在/etc/crontab中,并/etc/init.d/crond restart。
    但也可以输入crontab -e进入vim,写入如下格式:

    0 2 * * * sh /usr/sbin/myDBbackup.sh
  • 手工恢复:

    gunzip  xxx.gzmysql -u root -p --default-character-set=utf8use myBDsource /root/bak/mysql/xx.sql

MySQL - 定时备份