首页 / MYSQL / MySQL分库备份与分表备份
MySQL分库备份与分表备份
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了MySQL分库备份与分表备份,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4224字,纯文字阅读大概需要7分钟。
内容图文
![MySQL分库备份与分表备份](/upload/InfoBanner/zyjiaocheng/506/1e8ec848c4f743b8bfe67b7bf38a3649.jpg)
1、分库备份
要求:将mysql数据库中的用户数据库备份,备份的数据库文件以时间命名
脚本内容如下:
[root@db01 scripts]# vim backup_database.sh
#!/bin/bash
mysql_user=root
mysql_pass=123456
mkdir -p /backup
for n in `mysql -u$mysql_user -p$mysql_pass -e ‘show databases;‘ 2>/dev/null|grep -Ev ‘_schema|mysql‘|sed ‘1d‘`;
do
????mysqldump -u$mysql_user -p$mysql_pass -B $n 2>/dev/null>/backup/${n}_`date +%Y_%m_%d`.sql
done
?
执行脚本进行测试:
[root@db01 scripts]# sh -x backup_database.sh
+ mysql_user=root
+ mysql_pass=123456
+ mkdir -p /backup
++ mysql -uroot -p123456 -e ‘show databases;‘
++ grep -Ev ‘_schema|mysql‘
++ sed 1d
+ for n in ‘`mysql -u$mysql_user -p$mysql_pass -e ‘\‘‘show databases;‘\‘‘ 2>/dev/null|grep -Ev ‘\‘‘_schema|mysql‘\‘‘|sed ‘\‘‘1d‘\‘‘`‘
+ mysqldump -uroot -p123456 -B oldboy
+ for n in ‘`mysql -u$mysql_user -p$mysql_pass -e ‘\‘‘show databases;‘\‘‘ 2>/dev/null|grep -Ev ‘\‘‘_schema|mysql‘\‘‘|sed ‘\‘‘1d‘\‘‘`‘
+ mysqldump -uroot -p123456 -B oldgirl
+ for n in ‘`mysql -u$mysql_user -p$mysql_pass -e ‘\‘‘show databases;‘\‘‘ 2>/dev/null|grep -Ev ‘\‘‘_schema|mysql‘\‘‘|sed ‘\‘‘1d‘\‘‘`‘
+ mysqldump -uroot -p123456 -B test
[root@db01 scripts]#
?
检查备份情况:
[root@db01 scripts]# tree /backup/
/backup/
├── oldboy_2018_07_04.sql
├── oldgirl_2018_07_04.sql
└── test_2018_07_04.sql
?
0 directories, 3 files
[root@db01 scripts]#
?
2、分库分表备份
要求:备份每个数据库的表,同一个库中的表,放在对应数据库名字命名的目录下
脚本内容如下:
[root@db01 scripts]# vim backup_tables.sh
#!/bin/bash
mysql_user=root
mysql_pass=123456
mkdir -p /backup
for n in `mysql -u$mysql_user -p$mysql_pass -e ‘show databases;‘ 2>/dev/null|grep -Ev ‘_schema|mysql‘|sed ‘1d‘`;
do
????mkdir -p /backup/$n
????for m in `mysql -u$mysql_user -p$mysql_pass $n -e "show tables;" 2>/dev/null|sed ‘1d‘`;
????do
????????mysqldump -u$mysql_user -p$mysql_pass $n $m 2>/dev/null>/backup/${n}/${m}_`date +%Y_%m_%d`.sql
????done
done
?
执行脚本进行测试:
[root@db01 scripts]# sh -x backup_tables.sh
+ mysql_user=root
+ mysql_pass=123456
+ mkdir -p /backup
++ mysql -uroot -p123456 -e ‘show databases;‘
++ grep -Ev ‘_schema|mysql‘
++ sed 1d
+ for n in ‘`mysql -u$mysql_user -p$mysql_pass -e ‘\‘‘show databases;‘\‘‘ 2>/dev/null|grep -Ev ‘\‘‘_schema|mysql‘\‘‘|sed ‘\‘‘1d‘\‘‘`‘
+ mkdir -p /backup/oldboy
++ sed 1d
++ mysql -uroot -p123456 oldboy -e ‘show tables;‘
+ for m in ‘`mysql -u$mysql_user -p$mysql_pass $n -e "show tables;" 2>/dev/null|sed ‘\‘‘1d‘\‘‘`‘
+ mysqldump -uroot -p123456 oldboy students
+ for m in ‘`mysql -u$mysql_user -p$mysql_pass $n -e "show tables;" 2>/dev/null|sed ‘\‘‘1d‘\‘‘`‘
+ mysqldump -uroot -p123456 oldboy test
+ for m in ‘`mysql -u$mysql_user -p$mysql_pass $n -e "show tables;" 2>/dev/null|sed ‘\‘‘1d‘\‘‘`‘
+ mysqldump -uroot -p123456 oldboy test2
+ for n in ‘`mysql -u$mysql_user -p$mysql_pass -e ‘\‘‘show databases;‘\‘‘ 2>/dev/null|grep -Ev ‘\‘‘_schema|mysql‘\‘‘|sed ‘\‘‘1d‘\‘‘`‘
+ mkdir -p /backup/oldgirl
++ mysql -uroot -p123456 oldgirl -e ‘show tables;‘
++ sed 1d
+ for m in ‘`mysql -u$mysql_user -p$mysql_pass $n -e "show tables;" 2>/dev/null|sed ‘\‘‘1d‘\‘‘`‘
+ mysqldump -uroot -p123456 oldgirl test3
+ for n in ‘`mysql -u$mysql_user -p$mysql_pass -e ‘\‘‘show databases;‘\‘‘ 2>/dev/null|grep -Ev ‘\‘‘_schema|mysql‘\‘‘|sed ‘\‘‘1d‘\‘‘`‘
+ mkdir -p /backup/test
++ mysql -uroot -p123456 test -e ‘show tables;‘
++ sed 1d
+ for m in ‘`mysql -u$mysql_user -p$mysql_pass $n -e "show tables;" 2>/dev/null|sed ‘\‘‘1d‘\‘‘`‘
+ mysqldump -uroot -p123456 test test4
[root@db01 scripts]#
?
检查备份情况:
[root@db01 scripts]# tree /backup/
/backup/
├── oldboy
│?? ├── students_2018_07_04.sql
│?? ├── test_2018_07_04.sql
│?? └── test2_2018_07_04.sql
├── oldgirl
│?? └── test3_2018_07_04.sql
└── test
└── test4_2018_07_04.sql
?
3 directories, 5 files
[root@db01 scripts]#
MySQL分库备份与分表备份
标签:tab 目录 test show 要求 情况 font ext dir
本文系统来源:https://www.cnblogs.com/ssgeek/p/10529524.html
内容总结
以上是互联网集市为您收集整理的MySQL分库备份与分表备份全部内容,希望文章能够帮你解决MySQL分库备份与分表备份所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。