Linux MySQL8.0.12备份数据库
环境CentOS7.4
MySQL8.0.12
#备份地址 backupdir=/data/bak #备份文件后缀时间 time=_` date +%Y_%m_%d_%H_%M_%S ` #需要备份的数据库名称 db_name=test #mysqldump命令使用绝对路径 /usr/local/mysql/bin/mysqldump $db_name | gzip > $backupdir/$db_name$time.sql.gz
# 删除7天之前的备份文件
find $backupdir -name $db_name"*.sql.gz" -type f -mtime +7 -exec rm -rf {} \; > /dev/null 2>&1
同时修改MySQL的配置文件,my.cnf
[mysqldump] # 备份数据库使用 user=数据库账号 有备份所要备份数据的权限 password=数据库密码
如果 直接 mysqldump -uroot -p $db_name > t.sql这样提示
mysqldump: [Warning] Using a password on the command line interface can be insecure.
这是MySQL5.6之后出现,为了安全起见
因此把数据库账号密码放在配置文件中
执行定时任务
crontab -e
# 添加
03 03 * * * /usr/bin/sh /home/test_bak.sh