免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2126 | 回复: 8
打印 上一主题 下一主题

我写的mysql备份脚本,大家觉得有必要这样写吗? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-09-05 17:05 |只看该作者 |倒序浏览
第一次把自己写的脚本放上来,有点紧张。当初的设想是按引擎备份。却不知道有无必要,还望各位大侠指正。
#bin/sh
#writer by wushaoxiong
#date 2008-09-05
#writer by wushaoxiong
#date 2008-09-05
DATE=`date -I`
USER=mysql
PASSWD=111111

# 取得数据库更表
/usr/bin/mysql -p$PASSWD -e "show databases" |sed '1d;$d' >databases.list

for i in `cat databases.list`
do
      if   [ -d ./mysqlbackup_${DATE}/$i ]; then
           rm -rf ./mysqlbackup_${DATE}/$i
           mkdir -p ./mysqlbackup_${DATE}/$i
     else
          mkdir -p  ./mysqlbackup_${DATE}/$i
      fi

# 取得表名和引擎对应关系
      /usr/bin/mysql -p$PASSWD  -e  "show table status" -D $i  | sed '1d;$d' | awk '{print $1"  "$2}' >table-engine.txt

       while read table engine
       do
             if [ $engine == "MyISAM" ]; then
                  /usr/bin/mysqldump -u$USER -P$PASSWD  --opt --default-character-set=utf8 --hex-blob --flush-logs $i $tabl >./mysqlbackup_${DATE}/$i/${table}_${DATE}.SQL
           else
                  /usr/bin/mysqldump  -U$USER -P$PASSWD --skip-opt --single-transaction --add-drop-table --quick                --default-character-set=utf8  $i   $table >./mysqlbackup_${DATE}/$i/${table}_${DATE}.SQL
             fi
        done < table-engine.txt
done

tar -cvzf  mysqlbackup_${DATE}.tar.gz  mysqlbackup_${DATE}

[ 本帖最后由 孤竹无名 于 2008-9-6 18:32 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2008-09-05 17:59 |只看该作者
不仅按引擎还要按角色
宁外一种模式最好有至少2种实现方法

论坛徽章:
0
3 [报告]
发表于 2008-09-05 18:05 |只看该作者

回复 #2 talen-t 的帖子

按引擎分是考虑到效率及锁定的问题,按角色怎么分却不知道了。

论坛徽章:
0
4 [报告]
发表于 2008-09-06 01:01 |只看该作者
建议把密码隐藏起来

论坛徽章:
0
5 [报告]
发表于 2008-09-06 09:09 |只看该作者

回复 #4 xwmhmily 的帖子

谢谢楼上的提醒,密码当然换过了的哈哈。

论坛徽章:
0
6 [报告]
发表于 2008-09-06 13:30 |只看该作者
原帖由 孤竹无名 于 2008-9-5 18:05 发表
按引擎分是考虑到效率及锁定的问题,按角色怎么分却不知道了。



比如同样是innodb引擎,在master环境和slave环境,备份方式当然是有差异的

论坛徽章:
0
7 [报告]
发表于 2008-09-06 16:01 |只看该作者
建议把FLUSH LOGS最后单独执行一次。

论坛徽章:
0
8 [报告]
发表于 2008-09-06 18:03 |只看该作者

回复 #6 talen-t 的帖子

个人认为如果做REPLICATION,就没必要这样写脚本了吧。

论坛徽章:
0
9 [报告]
发表于 2008-09-07 12:27 |只看该作者
原帖由 孤竹无名 于 2008-9-6 18:03 发表
个人认为如果做REPLICATION,就没必要这样写脚本了吧。


呵呵。还是有必要的。

SLAVE 和MASTER 什么时候各自挂了都不知道。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP