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

张楠642

张楠642

2016-02-19 10:36

下面是个简单易学的linux下改良版本mysqldump来备份MYSQL数据库教程,图老师小编详细图解介绍包你轻松学会,喜欢的朋友赶紧get起来吧!
因为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点备份数据,每个周五凌晨备份存储过程。
展开更多 50%)
分享

猜你喜欢

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

编程语言 网络编程
linux下改良版本mysqldump来备份MYSQL数据库

linux下备份MYSQL数据库的方法

编程语言 网络编程
linux下备份MYSQL数据库的方法

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Linux自动备份MySQL数据库

编程语言 网络编程
Linux自动备份MySQL数据库

MySQL数据库备份

MySQL mysql数据库
MySQL数据库备份

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Linux下MySQL数据库开发技术

编程语言 网络编程
Linux下MySQL数据库开发技术

linux下建立mysql镜像数据库

MySQL mysql数据库
linux下建立mysql镜像数据库

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

html5贪吃蛇游戏使用63行代码完美实现

html5贪吃蛇游戏使用63行代码完美实现

log引起的mysql不能启动的解决方法

log引起的mysql不能启动的解决方法
下拉加载更多内容 ↓