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

 

posted @ 2018-10-23 21:26  Zel+_+  阅读(2078)  评论(0编辑  收藏  举报