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

MySQL - 定时备份

原文:http://www.cnblogs.com/visec479/p/4154870.html

 

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

    cd   
    mkdir bak
    cd bak
    mkdir mysql

     

  • 在/usr/sbin下touch一个sh:

    cd /usr/sbin
    touch 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.gz
    mysql -u root -p --default-character-set=utf8
    use myBD
    source /root/bak/mysql/xx.sql

     

     

MySQL - 定时备份