shell整理(42)====mysql 分库分表备份

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell整理(42)====mysql 分库分表备份相关的知识,希望对你有一定的参考价值。

shell 代码如下

[[email protected] /]# cat back.sh 



#!/bin/bash

/etc/init.d/mysqld status &> /dev/null
[ $? -ne 0 ]  && echo "请开启 mysqld 服务" && exit 0



user=root
pass="123.com"
backdb=`mysql -u$user -p"$pass" -e"show databases;"|sed ‘1d‘|grep -v ‘schema‘|grep -v ‘home‘| grep -v ‘mysql‘| grep -v ‘test‘`

echo -e "\033[32m ======================= backup start =====================  \033[0m"
for i in $backdb
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 --database $i --tables $j > /tmp/${i}-${j}-`date +%F.sql`
  		[ $? -eq 0  ] && echo -e "$i $j \033[32m ok \033[0m"  || echo "$i $j \033[31m filed \033[0m"
	done
done
		
echo -e "\033[32m========================backup stop==========================\033[0m"


执行结果如下

技术分享

技术分享

本文出自 “IT生活” 博客,请务必保留此出处http://dingxue.blog.51cto.com/12290895/1974745

以上是关于shell整理(42)====mysql 分库分表备份的主要内容,如果未能解决你的问题,请参考以下文章

(转)企业Shell实战-MySQL分库分表备份脚本

CentOS 7 MySQL5.6分库分表-全备-shell脚本

shell脚本,对MySQL数据库进行分库加分表备份

MySQL分库分表备份

史上最详尽的 MySQL 分库分表文章

这应该是最详尽的 MySQL 分库分表文章了