1. 建立备份文件存放目录:/backup/mysql
2. 编写备份脚本:
# vim ~/bak.sh ## 写入如下内容: #! /bin/bash DB1_NAME="db1" DB2_NAME="db2" DB3_NAME=“db3" DB_USER="USERNAME" DB_PASS="PASSWORD" BIN_DIR="MYSQL_BASEDIR/bin" BAK_DIR="/backup/mysql" DATE="mysql-`date +%F-%H-%M`" LogFile="$BAK_DIR"/dbbakup.log BackNewFile=$DATE.sql $BIN_DIR/mysqldump --opt --force -u$DB_USER -p$DB_PASS --databases $DB1_NAME $DB2_NAME $DB3_NAME --lock-all-tables --flush-logs --master-data=2 --default-character-set=utf8 > $BAK_DIR/$DATE.sql
3. 编写定时任务:
# crontab -e ## 写入如下内容: 0 1 * * * /bin/sh ~/bak.sh
如此,每天的凌晨1点,会定时执行备份MySQL的命令。另,5.6以后的MySQL不支持在mysqldump的脚本中直接以明文的形式添加密码,因此只能以变量的方式来给定密码。