当前位置:首页 > 数据库 > MySQL分库分表备份脚本

MySQL分库分表备份脚本

2022年11月07日 10:22:17数据库10

MySQL分库备份脚本

#脚本详细内容

 1 [root@db02 scripts]# cat /server/scripts/Store_backup.sh 
 2 #!/bin/sh
 3 MYUSER=root
 4 MYPASS=yangliheng
 5 SOCKET=/data/3306/mysql.sock
 6 MYLOGIN="mysql -u$MYUSER -p$MYPASS -S $SOCKET"
 7 MYDUMP="mysqldump -u$MYUSER -p$MYPASS -S$SOCKET -B"
 8 DATABASE="$($MYLOGIN -e "show databases;"|egrep -vi "Data|_schema|mysql")"
 9 
10 for dbname in $DATABASE
11 do
12 MYDIR=/server/backup/$dbname
13 [ ! -d $MYDIR ] && mkdir -p $MYDIR
14 $MYDUMP $dbname|gzip >$MYDIR/${dbname}_$(date +%F).sql.gz
15 done

 


#执行后的结果

 1 [root@db02 /]# tree /server/backup/ 
 2 /server/backup/
 3 ├── oldboy28
 4 │ ├──oldboy28_2016-07-29.sql.gz
 5 │ ├──oldboy28_2016-07-30.sql.gz
 6 │ └──oldboy28_2016-07-31.sql.gz
 7 ├── oldboy_yangliheng28
 8 │ ├──oldboy_yangliheng28_2016-07-29.sql.gz
 9 │ ├──oldboy_yangliheng28_2016-07-30.sql.gz
10 │ └──oldboy_yangliheng28_2016-07-31.sql.gz
11 └── yangliheng28
12 ├──yangliheng28_2016-07-29.sql.gz
13 ├──yangliheng28_2016-07-30.sql.gz
14 └── yangliheng28_2016-07-31.sql.gz
15 
16 3 directories, 9 files

 


MySQL分库分表备份脚本

#脚本详细内容

 1 [root@db02 scripts]# cat mysql_table.sh 
 2 #!/bin/sh
 3 USER=root
 4 PASSWD=yangliheng
 5 SOCKET=/data/3306/mysql.sock
 6 MYLOGIN="mysql -u$USER -p$PASSWD -S$SOCKET"
 7 MYDUMP="mysqldump -u$USER -p$PASSWD -S$SOCKET"
 8 DATEBASE="$($MYLOGIN -e "show databases;"|egrep -vi "Data|_schema|mysql")"
 9 
10 for dbname in $DATEBASE
11 do
12 TABLE="$($MYLOGIN -e "use $dbname;show tables;"|sed '1d')"
13 for tname in $TABLE
14 do
15 MYDIR=/server/backup/$dbname/${dbname}_$(date +%F)
16 [ ! -d $MYDIR ] && mkdir -p $MYDIR
17 $MYDUMP $dbname $tname |gzip >$MYDIR/${dbname}_${tname}_$(date +%F).sql.gz
18 done
19 done

 

#查看执行后的结果

 1 [root@db02 scripts]# tree /server/backup/ 
 2 /server/backup/
 3 ├── oldboy28
 4 │ ├──oldboy28_2016-07-30
 5 │ │├──oldboy28_oldboy_test_2016-07-30.sql.gz
 6 │ │└──oldboy28_oldboy_test2_2016-07-30.sql.gz
 7 │ └──oldboy28_2016-07-31
 8 │ ├── oldboy28_oldboy_test_2016-07-31.sql.gz
 9 │ └── oldboy28_oldboy_test2_2016-07-31.sql.gz
10 ├── oldboy_yangliheng28
11 │ ├──oldboy_yangliheng28_2016-07-30
12 │ │├──oldboy_yangliheng28_cloudstack_2016-07-30.sql.gz
13 │ │├──oldboy_yangliheng28_dashborad_2016-07-30.sql.gz
14 │ │└── oldboy_yangliheng28_student_2016-07-30.sql.gz
15 │ └──oldboy_yangliheng28_2016-07-31
16 │ ├──oldboy_yangliheng28_cloudstack_2016-07-31.sql.gz
17 │ ├──oldboy_yangliheng28_dashborad_2016-07-31.sql.gz
18 │ └──oldboy_yangliheng28_student_2016-07-31.sql.gz
19 └── yangliheng28
20 ├──yangliheng28_2016-07-30
21 │├──yangliheng28_openstack_2016-07-30.sql.gz
22 │├──yangliheng28_saltstack_2016-07-30.sql.gz
23 │├──yangliheng28_server_2016-07-30.sql.gz
24 │└──yangliheng28_zabbix_2016-07-30.sql.gz
25 └──yangliheng28_2016-07-31
26 ├──yangliheng28_openstack_2016-07-31.sql.gz
27 ├──yangliheng28_saltstack_2016-07-31.sql.gz
28 ├──yangliheng28_server_2016-07-31.sql.gz
29 └──yangliheng28_zabbix_2016-07-31.sql.gz
30 
31 9 directories, 18 files

 

作者:杨小愚
来源链接:https://www.cnblogs.com/yangliheng/p/5755447.html

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/database/68298.html

分享给朋友:

“MySQL分库分表备份脚本” 的相关文章

MySQL数据库(基础)

MySQL数据库(基础)

目录 1. 数据库概念 1.1 数据库是干嘛的? 1.2 数据库和数据结构是啥关系? ​1.3 两种类型的数据库 2. MySQL数据库 2.1 MySQL数据库概念 2.2 MySQL基本操作  2.2.1 建立...

mysql查询结果中文显示成了问号

character-set-server = utf8    collation-server = utf8_general_ci   然后 service  mysq...

会mysql不一定会sql

会mysql不一定会sql

1. 查询缓存 多数MySQL服务器都开启了查询缓存,相同的查询被执行多次,查询结果会被放到一个缓存中,这样,后续的相同的查询就不用操作表而直接访问缓存结果了。 //查询缓存不开启 $r= mysql_query("SELECT username...

mysql 查询最近5个月,每月的数据统计

SELECT DATE_FORMAT(CURDATE(), '%Y-%m') AS `year_month` UNION SELECT DATE_FORMAT((CURDATE() - INTERVAL 1 MONTH), '%Y-%m') AS `year_month...

mysql 查询操作日志

最近在操作mysql的过程中,因某些愿意需要查看mysql的日志,故总结如下: 要查看日志,首先需要查看日志是否开启, 使用一下语句: SHOW VARIABLES LIKE 'log_bin'; 如果显示ON,则表示日志已...

mysql查询条件为不等于某个值时,null 查询不到?

mysql 当查询是条件为 where status != ‘1’ 时 当status 为null时查询不到 的坑 今天又碰到了这坑 我要查询status !=‘1’ 的所有数据,数据库中符合要求有17条,可是查询结果只返回了7条,当时就很纳闷,经...

shell简单处理mysql查询结果

首先理清要了解shell脚本的数组与字符串的一些特性: str=("hello" "world" "!") #结果: str: 3 #普通的字符串数组 echo "str: " ${#str[@]} str1=("hello world !")...

Mysql 查询区分大小写的两种方法

oracle中查询默认是区分大小写的,但是在mysql中默认不区分大小写。     解决办法: mysql可以在SQL语句中加入 binary来区分大小写。BINARY不是函数,是类型转换运算符,它用来强制它后面的字符串为一个二进制字符...

mysql 查询列拼接字段

mysql 拼接字符函数 concat 转自:https://blog.csdn.net/q718330882/article/details/37690677 mysql 的concat函数可以实现数据库中字段的自由拼接 并且保存成临时字段 mysql>...

MySQL查询表中重复字段和重复的次数

查询user表中,user_name字段值重复的数据及重复次数 select user_name,count(*) as count from user group by user_name having count>1;...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。