筹划备份mysql数据库[MySQL防范]
本文“筹划备份mysql数据库[MySQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
1:mysql是我们利用最多的数据库,假如在平常中精确的对mysql数据举行备份,下面我们就来做这事,通过脚本来实现
###################################################################################################################################
#!/bin/bash
#backup My databases
#by luox at 2008-10-24
source /home/cacti/.bash_profile
PATH=/home/cacti/local/mysql5.0.22/bin:/home/cacti/local/php5.2.6/bin:/home/cacti/local/apache2.2.9/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
#date +%Y-%m-%d
#backup bbs database
mysqldump -S /home/cacti/tmp/mysql.sock -u bbsuser -p'pDdWShDzwXSLzSCB' --default-character-set=gbk --opt --extended-insert=false --hex-blob bbsuser >/home/cacti/backup/bbsuser_bak_`date +%Y-%m-%d`.sql
#compress the bak files
bzip2 /home/cacti/backup/bbsuser_bak_`date +%Y-%m-%d`.sql
#remove 4 week old bak files
find /home/cacti/backup/ -name '*.bz2' -ctime +28 -exec rm {} \;
##################################################################################################################################
通过上面的脚本便可以实现备份数据,简单介绍一下mysqldump这个号令的利用(上文中粗体bbsuser指的是数据库名)
-S 指定数据库利用的sock文件,一个系统中可以运行多个差别端口的mysql,假如要衔接这个数据库就需求用到这个参数来指定sock文件
-u 指定用户,在这里,假如我们备份bbsuser数据库,只需求用到bbsuser这个用户便可以了.当然root用户也可以,只不过我们写在脚本里当然用权限小点更佳
-p 指定密码,利用''将密码括起来
--default-character-set= 用于设置数据库的格局,这和数据库利用默许的语言有关,可以衔接到数据库里利用show variables;来查看当前,普通有utf8 gbk
--opt 实施备份大概是最常用的办法,因为备份速度上的上风
--extended-insert=false 是为了导出为多行Insert,不然大概因为Insert语句太长出错
--hex-blob 利用十六进制格局导出二进制字符串字段
-A, --all-databases Dump all the databases. This will be same as --databases with all databases selected. 可以用于备份全部数据库
PS:利用date +%Y-%m-%d 可以显示出当天的日期,我们在备份时也加个这参数可以起很好的标识备份文件日期作用.假如在mysqldump中引用date需求利用`date +%Y-%m-%d`
2:bzip2 可以将文件紧缩成bz2的文件,并且删撤除本来的,
3:通过find来查找,然后按照时间,假如多于28天(4周)就举行删除.
4:接下来还可以将这个脚本履行放到Crontab中,让脚本一天运行一次,便可以对数据举行很好的备份了.
#################################################################################
#backup my database
5 0 * * * /home/cacti/backup/backupmysql.sh >/dev/null 2>&1
#################################################################################
3:数据库的导入:
/home/cacti/local/mysql5.0.22/bin/mysql -S /home/cacti/tmp/mysql.sock -ubbsuser -p'pDdWShDzwXSLzSCB' bbsuser </home/cacti/backup/bbsuser_bak_2008-10-24.sql
本文出自 "gzmaster" 博客,请务必保存此出处http://gzmaster.blog.bitscn.com/299556/108896
以上是“筹划备份mysql数据库[MySQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |