本文来自http://www.xuliangwei.com/xubusi/252.html

免费视频讲解见 http://edu.51cto.com/course/course_id-5064.html

原文:http://blog.51cto.com/oldboy/1665163--------------18道Shell高级编程企业实战题及参考答案

企业Shell实战-MySQL分库分表备份

今天是2015年的最后一天,大家都开心的跨年,而我还在苦逼的呵呵—省略

此处内容来自老男孩教育oldboy以及老男孩26期王续精彩分享整理而来  为表示感谢,特整理此篇博文分享给大家!

项目联系笔者QQ:572891887   也可以加入架构师交流群:471443208   进行交流

[root@db02 scripts]# cat /server/scripts/Store_backup.sh   #脚本详细内容

#!/bin/sh

MYUSER=root

MYPASS=xuliangwei

SOCKET=/data/3306/mysql.sock

MYLOGIN=”mysql -u$MYUSER -p$MYPASS -S $SOCKET”

MYDUMP=”mysqldump -u$MYUSER -p$MYPASS -S$SOCKET -B”

DATABASE=”$($MYLOGIN -e “show databases;”|egrep -vi “Data|_schema|mysql”)”

for dbname in $DATABASE

do

MYDIR=/server/backup/$dbname

[ ! -d $MYDIR ] && mkdir -p $MYDIR

$MYDUMP $dbname|gzip >$MYDIR/${dbname}_$(date +%F).sql.gz

done

[root@db02 /]# tree /server/backup/   #执行后的结果

/server/backup/

├── oldboy26

│   ├──oldboy26_2015-12-29.sql.gz

│   ├──oldboy26_2015-12-30.sql.gz

│   └──oldboy26_2015-12-31.sql.gz

├── oldboy_xuliangwei26

│   ├──oldboy_xuliangwei26_2015-12-29.sql.gz

│   ├──oldboy_xuliangwei26_2015-12-30.sql.gz

│   └──oldboy_xuliangwei26_2015-12-31.sql.gz

└── xuliangwei26

├──xuliangwei26_2015-12-29.sql.gz

├──xuliangwei26_2015-12-30.sql.gz

└──
xuliangwei26_2015-12-31.sql.gz

3 directories, 9 files

Shell-MySQL分库分表备份脚本

[root@db02 scripts]# cat mysql_table.sh   #脚本详细内容

#!/bin/sh

USER=root

PASSWD=xuliangwei

SOCKET=/data/3306/mysql.sock

MYLOGIN=”mysql -u$USER -p$PASSWD -S$SOCKET”

MYDUMP=”mysqldump -u$USER -p$PASSWD -S$SOCKET”

DATEBASE=”$($MYLOGIN -e “show databases;”|egrep -vi “Data|_schema|mysql”)”

for dbname in $DATEBASE

do

TABLE=”$($MYLOGIN -e “use $dbname;show tables;”|sed ‘1d’)”

for tname in $TABLE

do

MYDIR=/server/backup/$dbname/${dbname}_$(date +%F)

[ ! -d $MYDIR ] && mkdir -p $MYDIR

$MYDUMP $dbname $tname |gzip >$MYDIR/${dbname}_${tname}_$(date +%F).sql.gz

done

done

[root@db02 scripts]# tree /server/backup/   #查看执行后的结果

/server/backup/

├── oldboy26

│   ├──oldboy26_2015-12-30

│   │├──oldboy26_oldboy_test_2015-12-30.sql.gz

│   │└──oldboy26_oldboy_test2_2015-12-30.sql.gz

│   └──oldboy26_2015-12-31

│       ├── oldboy26_oldboy_test_2015-12-31.sql.gz

│       └── oldboy26_oldboy_test2_2015-12-31.sql.gz

├── oldboy_xuliangwei26

│   ├──oldboy_xuliangwei26_2015-12-30

│   │├──oldboy_xuliangwei26_cloudstack_2015-12-30.sql.gz

│   │├──oldboy_xuliangwei26_dashborad_2015-12-30.sql.gz

│   │└── oldboy_xuliangwei26_student_2015-12-30.sql.gz

│   └──oldboy_xuliangwei26_2015-12-31

│       ├──oldboy_xuliangwei26_cloudstack_2015-12-31.sql.gz

│       ├──oldboy_xuliangwei26_dashborad_2015-12-31.sql.gz

│       └──oldboy_xuliangwei26_student_2015-12-31.sql.gz

└── xuliangwei26

├──xuliangwei26_2015-12-30

│├──xuliangwei26_openstack_2015-12-30.sql.gz

│├──xuliangwei26_saltstack_2015-12-30.sql.gz

│├──xuliangwei26_server_2015-12-30.sql.gz

│└──xuliangwei26_zabbix_2015-12-30.sql.gz

└──xuliangwei26_2015-12-31

├──xuliangwei26_openstack_2015-12-31.sql.gz

├──xuliangwei26_saltstack_2015-12-31.sql.gz

├──xuliangwei26_server_2015-12-31.sql.gz

└──xuliangwei26_zabbix_2015-12-31.sql.gz

9  directories, 18 files

 项目联系笔者QQ:572891887   也可以加入架构师交流群:471443208   进行交流

本文出自 “老男孩linux培训” 博客,请务必保留此出处http://oldboy.blog.51cto.com/2561410/1731109

(转)企业Shell实战-MySQL分库分表备份脚本的更多相关文章

  1. MySQL分库分表备份脚本

    MySQL分库备份脚本 #脚本详细内容 [root@db02 scripts]# cat /server/scripts/Store_backup.sh #!/bin/sh MYUSER=root M ...

  2. 分享一个MySQL分库分表备份脚本(原)

    分享一个MySQL分库备份脚本(原) 开发思路: 1.路径:规定备份到什么位置,把路径(先判断是否存在,不存在创建一个目录)先定义好,我的路径:/mysql/backup,每个备份用压缩提升效率,带上 ...

  3. mysql 分库分表备份脚本

    #!/bin/bash USER=root #用户 PASSWORD=123456 #密码 MYSQL_PATH=127.0.0.1 #地址 MYSQL_BIN=/bin/mysql MYSQL_DU ...

  4. Java互联网架构-Mysql分库分表订单生成系统实战分析

    概述 分库分表的必要性 首先我们来了解一下为什么要做分库分表.在我们的业务(web应用)中,关系型数据库本身比较容易成为系统性能瓶颈,单机存储容量.连接数.处理能力等都很有限,数据库本身的“有状态性” ...

  5. 实现对MySQL数据库进行分库/分表备份(shell脚本)

    工作中,往往数据库备份是件非常重要的事情,毕竟数据就是金钱,就是生命!废话不多,下面介绍一下:如何实现对MySQL数据库进行分库备份(shell脚本) Mysq数据库dump备份/还原语法: mysq ...

  6. Mysql分库分表方案

    Mysql分库分表方案 1.为什么要分表: 当一张表的数据达到几千万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了.分表的目的就在于此,减小数据库的负担,缩短查询时间. m ...

  7. MYSQL分库分表和不停机更改表结构

    在MYSQL分库分表中我们一般是基于数据量比较大的时间对mysql数据库一种优化的做法,下面我简单的介绍一下mysql分表与分库的简单做法. .分库分表 很明显,一个主表(也就是很重要的表,例如用户表 ...

  8. 【分库、分表】MySQL分库分表方案

    一.Mysql分库分表方案 1.为什么要分表: 当一张表的数据达到几千万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了.分表的目的就在于此,减小数据库的负担,缩短查询时间. ...

  9. 高可用Mysql架构_Mysql主从复制、Mysql双主热备、Mysql双主双从、Mysql读写分离(Mycat中间件)、Mysql分库分表架构(Mycat中间件)的演变

    [Mysql主从复制]解决的问题数据分布:比如一共150台机器,分别往电信.网通.移动各放50台,这样无论在哪个网络访问都很快.其次按照地域,比如国内国外,北方南方,这样地域性访问解决了.负载均衡:M ...

随机推荐

  1. [转]不完美解决V社游戏的中文支持问题

    先安装安装文泉驿正黑:sudo apt-get install fonts-wqy-zenhei 然后sudo gedit /etc/fonts/conf.avail/25-wqy-zenhei.co ...

  2. shell 字符串中定位字符位置 获取字符位置

    linux shell 字符串操作(长度,查找,替换)详解 该博文中描述的如下两个字符串操作, ${string:position} #在$string中, 从位置$position开始提取子串 ${ ...

  3. JAVA自动装箱拆箱与常量池

    java 自动装箱与拆箱 这个是jdk1.5以后才引入的新的内容,作为秉承发表是最好的记忆,毅然决定还是用一篇博客来代替我的记忆: java语言规范中说道:在许多情况下包装与解包装是由编译器自行完成的 ...

  4. 一个数组:1,1,2,3,5,8,13,21...+m,求第30位数是多少?用递归实现;(常考!!!)

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Cons ...

  5. 百度离线地图API开发V2.0版本

    全面介绍,请看下列介绍地址,改写目前最新版本的百度V2.0地图,已全面实现离线操作,能到达在线功能的95%以上 http://api.jjszd.com:8081/apituiguang/gistg. ...

  6. Vue watch用法

    Vue.js 提供了一个方法 watch,它用于观察Vue实例上的数据变动.对应一个对象,键是观察表达式,值是对应回调.值也可以是方法名,或者是对象,包含选项. 例如,同一个组件切换时,不会触发生命周 ...

  7. Vue 动态传值,Get传值

    Vue 路由get传值1.动态传值 1.1需要在路由配置时指定参数: {component:'/home/:id'} 1.2在routerlink中指定格式:<router-link :to=& ...

  8. 「POJ 2182」 Lost Cows

    题目链接 戳这 题目大意 \(N(2 <= N <= 8,000)\)头奶牛有\(1..N\)范围内的独特品牌.对于每头排队的牛,知道排在那头牛之前的并比那头牛的品牌小的奶牛数目.根据这些 ...

  9. 在Linux环境下的卸载Oracle11G操作

    1.使用SQL*PLUS停止数据库[oracle@OracleTest oracle]$ sqlplus /nolog SQL> connect / as sysdba SQL> shut ...

  10. WebJars——web端静态资源的jar包

    1.WebJars介绍 Web前端使用了越来越多的JS或CSS,如jQuery,Backbone.js和Bootstrap.一般情况下,我们是将这些Web资源拷贝到Java Web项目的webapp相 ...