gpt4 book ai didi

linux下改良版本mysqldump来备份MYSQL数据库

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章linux下改良版本mysqldump来备份MYSQL数据库由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

因为MYSQLDUMP会为整个库来加一个全局锁定。  如果单纯用MYSQLDUMP进行全库备份会造成以下三个方面的影响。  1、服务器CPU严重阻塞。  2、磁盘I/O直线增加。  3、所有的查询都成了慢查询。  我现在的网站数据库大概是5个G左右,而且每天都有增大。  表结构是MYISAM,INNODB,MEMORY三者混合。  所以单纯用HOTCOPY工具恐怕有点困难。所以我今天简单变了一下我上次写的关于用OUTFILE来备份MYSQL的脚本。  可以解决上面说的三个缺点。  1、备份脚本内容  [david_yeung@localhost ~]$ cat fast_backup   #!/bin/sh  #  # Created by david yeung.  #  # 20080707.  #  # Backup mysql's full data.  #  DBNAME=$1  BACKUPDIR=/home/david_yeung/backup_new  USERNAME=backup_user  PASSWD=123456  TARNAME="$BACKUPDIR"/backup"$1"`date '+%Y%m%d'`  # Add your own database name here.  case "$1" in    my_site);;    *) exit;;   esac  # Get all the tables' name.  NUM=`/usr/local/mysql/bin/mysql -u$USERNAME -p$PASSWD -s -vv -e "show tables" -D $DBNAME|wc -l`  HEADNUM=`expr ${NUM} - 3`  TAILNUM=`expr ${NUM} - 7`  ARR1=`/usr/local/mysql/bin/mysql -u$USERNAME -p$PASSWD -s -vv -e "show tables" -D $DBNAME| head -n"$HEADNUM" | tail -n "$TAILNUM"`  ARR2=($ARR1)  i=0  while [ "$i" -lt "${#ARR2[@]}" ]  do   tmpFileName=${ARR2[$i]}   # The real dump process.   /usr/local/mysql/bin/mysqldump -u$USERNAME -p"$PASSWD" "$DBNAME" "$tmpFileName" >> "$TARNAME"    let "i++"  done  2、因为我们一直用存储过程,所以得单独备份出来。  [david_yeung@localhost ~]$ cat fast_sp  #!/bin/sh  # Created by david yeung 20080122.  #  # Backup site's routine.  TARNAME=/home/david_yeung/backup_new/spBackup"$1"`date '+%Y%m%d'`  /usr/local/mysql/bin/mysqldump -ubackup_user -p123456 -n -t -d -R my_site > "$TARNAME"  3、丢到计划任务里面去,就不管了。  [root@localhost backup_new]# crontab -l  0 01 * * * /home/david_yeung/fast_backup my_site  0 0 * * 5 /home/david_yeung/fast_sp  每天凌晨1点备份数据,每个周五凌晨备份存储过程.

最后此篇关于linux下改良版本mysqldump来备份MYSQL数据库的文章就讲到这里了,如果你想了解更多关于linux下改良版本mysqldump来备份MYSQL数据库的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com