编写 db_backup.sh 文件
- 使用mysqldump 命令进行数据备份
- 删除七天前的历史记录
#!/bin/bash
mysqldump -uroot -h127.0.0.1 -pxxx dbName | gzip > /usr/local/java/mysql/backup/dbName_$(date +%Y%m%d_%H%M%S).sql.gz
workdir="/usr/local/java/mysql/backup/"
do_delete()
{
echo file name is $workdir
find $workdir -name '*.sql.gz' -and -mtime +7 -type f -delete
if [ $? -eq 0 ];then
echo $date delete $dir success!
else
echo $date delete $dir FAILD!
fi
}
do_delete
给 db_backip.sh 文件添加可执行权限
chmod u+x db_backup.sh
添加定时任务,
// 命令
crontab -e
// 键入cron 表达式
0 01 * * * /usr/local/java/mysql/backup/db_backup.sh
注意
- 问题:使用mysqldump 备份是报ERROR 1449 错误
错误信息如下:
mysqldump: Got error: 1449: The user specified as a definer ('xxx'@'%') does not exist when using LOCK TABLES
解决办法【授权】:
GRANT ALL PRIVILEGES ON *.* TO 'xxx'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;
网友评论