MySQL - 定时备份

  • 创建备份目录,在这里以/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

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。