MySQL定时备份数据库操作示例
程序员文章站
2022-05-17 09:18:33
本文实例讲述了mysql定时备份数据库操作。分享给大家供大家参考,具体如下:1. 查看mysqldumproot@laowang:/# which mysqldump/usr/bin/mysqldum...
本文实例讲述了mysql定时备份数据库操作。分享给大家供大家参考,具体如下:
1. 查看mysqldump
root@laowang:/# which mysqldump /usr/bin/mysqldump
2. 编写脚本
编辑my.cnf文件, 指定账号与密码, 然后在脚本中引用
root@laowang:/# vim /etc/my.cnf [mysqldump] user=root password=root
脚本文件
root@laowang:/var/backups# vim mysql_backup.sh #!/bin/sh ################################################# # 备份数据库 ################################################# #mysqldump备份程序执行路径 dump=/usr/bin/mysqldump #备份文件存放路径 out_dir=/var/database #备份文件所属权限 linux_user=root #要备份的数据库名字 db_name=laowang #备份的天数,之前的删除 days=1 #进入备份存放目录 cd $out_dir #获取当前系统时间 date=`date +%y_%m_%d` #备份数据库的文件名 out_sql=$db_name"_$date.sql" #最终保存的数据库备份文件名 tar_sql=$db_name"_$date.tar.gz" #开始执行备份数据库 $dump --defaults-extra-file=/etc/my.cnf --default-character-set=utf8 $db_name > $out_sql #压缩为.tar.gz格式 tar -czf $tar_sql ./$out_sql #删除.sql格式的备份文件 rm $out_sql #更改备份数据库文件的所有者 chown $linux_user:$linux_user $out_dir/$tar_sql #删除30天前的备份文件(注意:{} \;中间有空格) find $out_dir -name "*.tar.gz" -type f -mtime +$days -exec rm -f {} \;
3. 定时计划
root@laowang:/# crontab -e # m h dom mon dow command 10 10 * * * /var/backups/mysql_backup.sh
ctrl+x 退出
y 保存修改