shell脚本,对MySQL数据库进行分库加分表备份
[root@localhost wyb]# cat table_backup.sh
#!/bin/bash flag=
user=root
pass=test mysql -u$user -p"$pass" -e "show databases;" &>/dev/null
[ $? -ne ] && read -p "Mysql do not running,start it?(`echo -e "\[32myes/no\[0m"`):" choice && flag=
[[ "choice" -eq "yes" ]] && service mysqld start &>/dev/null && flag=
[ $flag -eq ] && exit
database=`mysql -u$user -p$pass -e "show databases;"|sed 1d|grep -v 'schema'` echo -e "\033[32m==================backup start=====================\033[0m"
for i in $database
do
tables=`mysql -u$user -p"$pass" -e "use $i;show tables;"|sed 1d`
for j in $tables
do
mysqldump -u$user -p"$pass" -B --databases $i --tables $j > /tmp/${i}-${j}-`date +%F`.sql
[ $? -eq ] && echo $i $j ok >>/tmp/table.log||echo $i $j failed >>/tmp/table.log
[ $? -eq ] && echo -e "$i $j \033[32mok\033[0m" ||echo -e "$i $j \033[31mfailed\033[0m"
done done
echo -e "\033[32m===================backup stop=======================\033[0m"
[root@localhost wyb]# bash table_backup.sh
==================backup start=====================
mysql columns_priv ok
mysql db ok
mysql func ok
mysql help_category ok
mysql help_keyword ok
mysql help_relation ok
mysql help_topic ok
mysql host ok
mysql proc ok
mysql procs_priv ok
mysql tables_priv ok
mysql time_zone ok
mysql time_zone_leap_second ok
mysql time_zone_name ok
mysql time_zone_transition ok
mysql time_zone_transition_type ok
mysql user ok
===================backup stop=======================
[root@localhost wyb]# cd tmp
-bash: cd: tmp: No such file or directory
[root@localhost wyb]# cd /tmp
[root@localhost tmp]# ls
a.log mysql-help_category---.sql mysql-tables_priv---.sql table.log
dashazi123.sh mysql-help_keyword---.sql mysql-time_zone---.sql VMwareDnD
keyring-cmzNiY mysql-help_relation---.sql mysql-time_zone_leap_second---.sql vmware-root
mapping-root mysql-help_topic---.sql mysql-time_zone_name---.sql vmware-root-
mysql-columns_priv---.sql mysql-host---.sql mysql-time_zone_transition---.sql VMwareTools-9.6.-.tar.gz
mysql-db---.sql mysql-proc---.sql mysql-time_zone_transition_type---.sql vmware-tools-distrib
mysql-func---.sql mysql-procs_priv---.sql mysql-user---.sql
[root@localhost tmp]# ls mysql*
mysql-columns_priv---.sql mysql-help_topic---.sql mysql-time_zone_leap_second---.sql
mysql-db---.sql mysql-host---.sql mysql-time_zone_name---.sql
mysql-func---.sql mysql-proc---.sql mysql-time_zone_transition---.sql
mysql-help_category---.sql mysql-procs_priv---.sql mysql-time_zone_transition_type---.sql
mysql-help_keyword---.sql mysql-tables_priv---.sql mysql-user---.sql
mysql-help_relation---.sql mysql-time_zone---.sql
[root@localhost tmp]# cat table.log
mysql columns_priv ok
mysql db ok
mysql func ok
mysql help_category ok
mysql help_keyword ok
mysql help_relation ok
mysql help_topic ok
mysql host ok
mysql proc ok
mysql procs_priv ok
mysql tables_priv ok
mysql time_zone ok
mysql time_zone_leap_second ok
mysql time_zone_name ok
mysql time_zone_transition ok
mysql time_zone_transition_type ok
mysql user ok
[root@localhost tmp]#
shell脚本,对MySQL数据库进行分库加分表备份的更多相关文章
- 实现对MySQL数据库进行分库/分表备份(shell脚本)
工作中,往往数据库备份是件非常重要的事情,毕竟数据就是金钱,就是生命!废话不多,下面介绍一下:如何实现对MySQL数据库进行分库备份(shell脚本) Mysq数据库dump备份/还原语法: mysq ...
- shell脚本操作mysql数据库
shell脚本操作mysql数据库,使用mysql的-e参数可以执行各种sql的(创建,删除,增,删,改.查)等各种操作 mysql -hhostname -Pport -uusername -pp ...
- shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查)
shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查) Shell脚本与MySQL数据库交互(增删改查) # 环境准备:安装mariadb 数据库 [ro ...
- zabbix3.0.4-agent通过shell脚本获取mysql数据库登陆用户
zabbix3.0.4获取数据库登陆用户趋势详解 主要思路: 通过zabbix客户端shell脚本mysql命令取出用户表中的数据将结果反馈给zabbix,画出趋势图 1.修改zabbix-agent ...
- shell脚本操作mysql数据库,使用mysql的-e参数可以执行各种sql的(创建,删除,增,删,改、查)等各种操作
mysql -hhostname -Pport -uusername -ppassword -e 相关mysql的sql语句,不用在mysql的提示符下运行mysql,即可以在shell中操作m ...
- MyCat:对MySQL数据库进行分库分表
本篇前提: mycat配置正确,且能正常启动. 1.schema.xml <table>标签: dataNode -- 分片节点指定(取值:dataNode中的name属性值) rule ...
- 通过shell脚本批量操作mysql数据库
创建建表语句 ============================================= 学生表:Student(Sno,Sname,Ssex,Sage,Sdept) ------(学 ...
- shell脚本操作mysql数据库—创建数据库,在该数据库中创建表(插入,查询,更新,删除操作也可以做)
#!/bin/bash HOSTNAME="192.168.1.224" #数据库Server信 ...
- shell 脚本连接mysql数据库查询database中表的数量和表名
#!/bin/bash MYSQLHOST="127.0.0.1" MYSQLUSER="root" MYSQLPWD="root" MYS ...
随机推荐
- [3dmax教程] 人物+骨骼+蒙皮+动画教程
人物+骨骼+蒙皮+动画完整教程选准备好一个人,做人的方法我在这里就不做了,大家可以学都用poser来做一个. 在大腿里建立4根骨骼! 在前视图中移动如图所示位置! 做一段简单的骨骼向前伸的动画,做4 ...
- CTP 下单返回错误: 没有报单权限 和字段错误需要注意的问题
没有报单权限一般被认为期货公司没有开权限, 但是更多的问题是没有填写 BrokerId, InvestorId 下单字段错误注意一个容易忽略的地方: a. order 应该全部设为0, b. orde ...
- valgrind 使用入门
近期在学习使用valgrind 来定位性能问题,记录一下整个操作过程以及涉及到的工具 一般在机器上都会预装valgrind 工具 使用callgrind 工具检查程序的调用情况,例如使用valgrin ...
- sql注入教学
新手入坑sql注入,以下是笔记 首先本人存在这么一个mysql数据库 爆库 方法一: 先猜有几列 ,,, 数字依次增加,发现有四列,然后通过database()来爆表名 ,, 方法二: 通过构造一个 ...
- Tyvj1474 打鼹鼠
Description 在这个“打鼹鼠”的游戏中,鼹鼠会不时地从洞中钻出来,不过不会从洞口钻进去(鼹鼠真胆大……).洞口都在一个大小为n(n<=1024)的正方形中.这个正方形在一个平面直角坐标 ...
- C - How Many Tables
#include <cstdio> #include <cstdlib> #include <iostream> #include <algorithm> ...
- For循环执行AFNetworking请求
屏幕快照 2017-12-19 下午1.46.25.png 需求:如下操作打印的文档为 NSLog(@"开始");for(NSIntegeri =0; i <5; i++) ...
- UVa12186:Another Crisis(树形DP)
一道简单的树形DP送给你. A couple of years ago, a new world wide crisis started, leaving many people with econo ...
- JAVA常用知识总结(十四)——Servlet
Servlet属于线程安全的吗? Servlet不是线程安全的! 谈谈转发和重定向的区别 请求转发: request.getRequestDispatcher("/king_l2lu.jsp ...
- python Windows和Linux路径表示问题
Windows下路径是用‘\\’表示也可以使用'/',但是Linux下路径都是‘/’表示. 因为python是跨平台的,有时候程序迁移会出现错误. 解决办法1 可全部使用‘/’表示 解决办法2 我们可 ...