MySQL - 定时备份

时间:2022-12-23 10:51:01
  • 创建备份目录,在这里以/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