centos备份mysql数据库

1.编写备份脚本

1.1 修改my.cnf文件

1.1.1在my.cnf文件中增加如下配置,存储数据库的用户名和密码
[mysqldump]
user=root
password=12345678

此举是为了避免使用/usr/bin/mysqldump -u root -p12345678报如下错误:
在这里插入图片描述

1.1.2 在my.cnf文件的[mysqld]后追加
skip-grant-tables

是为了避免如下报错:
在这里插入图片描述
重启数据库

service mysql restart

1.2 编写sh脚本备份数据库

#!/bin/bash
# Name:databasename_mysql_bak.sh
# This is a ShellScript For Auto DB Backup and Delete old Backup
#
# 参数说明:
# backupdir 保存路径的绝对地址
# 代码中 time=` date +%Y%m%d`也可以写为time=”$(date +”%Y%m%d”)” 找到当前日期时间格式
# 其中`符号是TAB键上面的符号,不是ENTER左边的’符号,还有date后要有一个空格。
#mysql_bin_dir:mysql的bin路径;
#dataname:数据库名;
#user:数据库用户名;
#password:用户密码;
#name:自定义备份文件前缀标识
# name:自定义备份文件前缀标识。
# -type f    表示查找普通类型的文件,f表示普通文件,d表示目录。
# -mtime +30   按照文件的更改时间来查找文件,+30表示文件更改时间距现在30天以前;如果是 -mmin +7 表示文件更改时间距现在7分钟以前。
# -exec rm -rf {} \;   表示执行一段shell命令,exec选项后面跟随着所要执行的命令或脚本,然后是一对儿{},一个空格和一个\,最后是一个分号。
#数据库备份的位置
backupdir=/opt/mysqlbak
time=` date +%Y%m%d%H%M%S`
dirname=` date +%Y%m%d`'-mysql'
#需要备份的数据库的连接的用户名和密码和数据库(-uuser 和-ppassword 中间用空格隔开也是可以的 如:-u root )
#mysql_bin_dir/mysqldump -uuser -ppassword dataname | gzip > $backupdir/name$time.sql.gz
#mysql_bin_dir/mysqldump -u user -p password dataname | gzip > $backupdir/name$time.sql.gz
#每天创建一个新的文件夹
cd $backupdir
if [ ! -d $dirname  ];then
  mkdir $dirname
fi
/usr/local/mysql/bin/mysqldump work_plan | gzip > $backupdir/$dirname/mysql_$time.sql.gz
#传输至备份服务器,如果保留本机则不需要此步骤
#scp $backupdir/mysql_$time.sql.gz 22.122.51.158:/data/bakup/159/
#find $backupdir -name "name*.sql.gz" -type f -mtime +30 -exec rm -rf {} \;
#保留10日
find $backupdir -name "*-mysql" -type d -mtime +10 -exec rm -rf {} \;

2.配置定时任务

进入/etc/cron.hourly目录(一小时执行一次),新建文件,将上述脚本内容拷入,赋予权限:

cd /etc/cron.hourly
touch mysqlback.cron
# 将脚本内容复制进去,赋予权限
chmod 777 mysqlback.cron

大功告成

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值