侧边栏壁纸
  • 累计撰写 208 篇文章
  • 累计创建 16 个标签
  • 累计收到 5 条评论

目 录CONTENT

文章目录

mysql配置主从复制,以及使用全量备份,同步之前数据到从库

Wake
2022-08-22 / 0 评论 / 0 点赞 / 589 阅读 / 411 字

1. MySQLdump增量备份配置

执行增量备份的前提条件是MySQL打开binlog日志功能,在my.cnf中[mysqld]加入

#log-bin=mysql-bin
#server-id=1

然后重启mysql。

2. 定时备份脚本实现:

a.全量备份脚本实现(假设mysql登录密码为123456;注意脚本中的命令路径):

#!/bin/bash 
# Program 
# use mysqldump to Fully backup mysql data per week! 
# History 
# 2013-04-27 guo first 
# Path 
# .... 
BakDir=/data/mysql/backup 
LogFile=/data/mysql/backup/bak.log 
Date=`date +%Y%m%d` 
Begin=`date +"%Y年%m月%d日 %H:%M:%S"` 
cd $BakDir 
DumpFile=$Date.sql 
GZDumpFile=$Date.sql 
mysqldump -uroot -p12345678 --quick --all-databases > $DumpFile 
Last=`date +"%Y年%m月%d日 %H:%M:%S"` 
echo 开始:$Begin 结束:$Last $GZDumpFile succ >> $LogFile 
cd $BakDir/daily 
rm -f *

将上面的shell脚本保存在一个.sh文件里,然后

chmod +x xxx.sh 提升权限

注意:

需要提前创建好路径下的文件夹

3. 手动执行上面两个脚本,测试下备份效果

a. 执行全量备份脚本

[root@localhost data]# /bin/bash /home/wake/DBfullybak.sh
image-1661169370118

1.设置crontab任务,执行备份脚本。 a.周一到周六凌晨3:00做全量备份

0 3 1-6 /bin/bash /home/wake/DBfullybak.sh >/dev/null 2>&1

b.只保留5天的全量备份数据,清楚之前所有的文件:

删除所有过期的数据库备份文件:

#!/bin/sh

location="/data/mysql/backup/"

find $location -name '2*.sql' -mtime +5 -type f |xargs rm -f

实现每天的1点30分钟实现删除,可以按照如下标准:

30 1 * * * root   /bin/sh /home/wake/del.sh
0

评论区