1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > mysql备份去掉一个库_MySQL备份与恢复(3)mysqldump备份多个库

mysql备份去掉一个库_MySQL备份与恢复(3)mysqldump备份多个库

时间:2022-10-22 23:06:26

相关推荐

mysql备份去掉一个库_MySQL备份与恢复(3)mysqldump备份多个库

一、mysqldump的工作原理、

利用mysqldump命令备份数据的过程,实际上就是把数据从mysql库以逻辑的sql语句的形式直接输出或生成备份的文件的过程

利用这个备份文件恢复的时候的原理?就是把备份的sql命令再执行一遍。

二、备份多个库

mysql>show databases;+--------------------+

| Database |

+--------------------+

| information_schema |

| mysql |

| oldboy |

| oldboy_gbk |

| oldboy_utf8 |

| performance_schema |

+--------------------+

6 rows in set (0.00sec)

mysql>quit

Bye

[root@localhost~]# mysqldump -uroot -pdubin -B oldboy oldboy_gbk|gzip >/opt/all_bak.sql.gz

[root@localhost~]# ls -l /opt/all_bak.sql.gz-rw-r--r--. 1 root root 1374 9月 21 11:50 /opt/all_bak.sql.gz

[root@localhost~]#

三、如何做分库备份?

分库备份实际上就是执行一个备份语句备份一个库,如果数据库里有多个库,就执行多条相同的备份单个库的备份语句就可以备份多个库了,注意每个库都可以用对应备份的库作为库名,结尾加 .sql。备份多个库的命令如下:

mysqldump -uroot -pdubin -B oldboy ……

mysqldump-uroot -pdubin -B oldboy_gbk ……

分库备份过程

[root@localhost ~]# mysql -uroot -pdubin -e "show databases;"

+--------------------+

| Database |

+--------------------+

| information_schema |

| mysql |

| oldboy |

| oldboy_gbk |

| oldboy_utf8 |

| performance_schema |

+--------------------+[root@localhost~]# mysql -uroot -pdubin -e "show databases;"|grep -Evi "database|infor|perfor"mysql

oldboy

oldboy_gbk

oldboy_utf8

[root@localhost~]# mysql -uroot -pdubin -e "show databases;"|grep -Evi "database|infor|perfor"|sed 's#^#mysqldump -uroot -pdubin -B #g'mysqldump-uroot -pdubin -B mysql

mysqldump-uroot -pdubin -B oldboy

mysqldump-uroot -pdubin -B oldboy_gbk

mysqldump-uroot -pdubin -B oldboy_utf8

[root@localhost~]# mysql -uroot -pdubin -e "show databases;"|grep -Evi "database|infor|perfor"|sed 's#^([a-z].*$)#mysqldump -uroot -pdubin -B \1 >/opt/\1.sql#g'sed:-e 表达式 #1,字符 59:“s”命令的RHS非法引用\1[root@localhost~]# mysql -uroot -pdubin -e "show databases;"|grep -Evi "database|infor|perfor"|sed -r 's#^([a-z].*$)#mysqldump -uroot -pdubin -B \1 >/opt/\1.sql#g'mysqldump-uroot -pdubin -B mysql >/opt/mysql.sql

mysqldump-uroot -pdubin -B oldboy >/opt/oldboy.sql

mysqldump-uroot -pdubin -B oldboy_gbk >/opt/oldboy_gbk.sql

mysqldump-uroot -pdubin -B oldboy_utf8 >/opt/oldboy_utf8.sql

[root@localhost~]# mysql -uroot -pdubin -e "show databases;"|grep -Evi "database|infor|perfor"|sed -r 's#^([a-z].*$)#mysqldump -uroot -pdubin -B \1|gzip >/opt/\1.sql.gz#g'mysqldump-uroot -pdubin -B mysql|gzip >/opt/mysql.sql.gz

mysqldump-uroot -pdubin -B oldboy|gzip >/opt/oldboy.sql.gz

mysqldump-uroot -pdubin -B oldboy_gbk|gzip >/opt/oldboy_gbk.sql.gz

mysqldump-uroot -pdubin -B oldboy_utf8|gzip >/opt/oldboy_utf8.sql.gz

[root@localhost~]# mysql -uroot -pdubin -e "show databases;"|grep -Evi "database|infor|perfor"|sed -r 's#^([a-z].*$)#mysqldump -uroot -pdubin -B \1|gzip >/opt/\1.sql.gz#g'|bash-- Warning: Skipping the data of table mysql.event. Specify the --events option explicitly.

[root@localhost~]# ll /opt/总用量196

-rw-r--r--. 1 root root 1374 9月 21 11:50all_bak.sql.gz-rw-r--r--. 1 root root 2371 9月 21 08:45mysql_bak_B_compact.sql-rw-r--r--. 1 root root 4651 9月 21 08:45mysql_bak_B.sql-rw-r--r--. 1 root root 4508 9月 21 08:43mysql_bak.sql-rw-r--r--. 1 root root 1355 9月 21 08:47mysql_bak.sql.gz-rw-r-----. 1 root root 498 9月 20 22:17 mysqlbin_oldboy.000001

-rw-r--r--. 1 root root 144535 9月 21 12:01mysql.sql.gz-rw-r--r--. 1 root root 203 9月 20 08:46oldboy_bak1.sql-rw-r--r--. 1 root root 2826 9月 20 08:46oldboy_bak.sql-rw-r--r--. 1 root root 512 9月 21 12:01oldboy_gbk.sql.gz-rw-r--r--. 1 root root 1354 9月 21 12:01oldboy.sql.gz-rw-r--r--. 1 root root 512 9月 21 12:01oldboy_utf8.sql.gz

[root@localhost~]# mysql -uroot -pdubin -e "show databases;"|grep -Evi "database|infor|perfor"|sed -r 's#^([a-z].*$)#mysqldump -uroot -pdubin --event -B \1|gzip >/opt/\1.sql.gz#g'|bash

[root@localhost~]# mkdir /opt/bak

[root@localhost~]# mysql -uroot -pdubin -e "show databases;"|grep -Evi "database|infor|perfor"|sed -r 's#^([a-z].*$)#mysqldump -uroot -pdubin --event -B \1|gzip >/opt/bak/\1.sql.gz#g'|bash

[root@localhost~]# ll /opt/bak

总用量156

-rw-r--r--. 1 root root 144570 9月 21 12:03mysql.sql.gz-rw-r--r--. 1 root root 534 9月 21 12:03oldboy_gbk.sql.gz-rw-r--r--. 1 root root 1371 9月 21 12:03oldboy.sql.gz-rw-r--r--. 1 root root 533 9月 21 12:03oldboy_utf8.sql.gz

[root@localhost~]#

mysql -uroot -pdubin -e "show databases;"|grep -Evi "database|infor|perfor"|sed -r 's#^([a-z].*$)#mysqldump -uroot -pdubin --event -B \1|gzip >/opt/bak/\1.sql.gz#g'|bash

分库备份的意义何在?

有时一个企业的数据库里会有多个库,例如(www,bbs,blog),但是出问题时候的很可能是一个库,如果在备份时把所有的库都备份成一个数据文件的话,恢复某一个库的数据时就比较麻烦了。

shell脚本实现分表分库备份的脚本

[root@localhost ~]# vi fenku.shfor dbname in `mysql -uroot -pdubin -e "show databases;"|grep -Evi "database|infor|perfor"`domysqldump-uroot -pdubin --event -B $dbname|gzip >/opt/bak/${dbname}.sql.gz

done

root@localhost ~]# rm -f /opt/bak/*[root@localhost ~]# sh fenku.sh

[root@localhost ~]# ll /opt/bak

总用量 156

-rw-r--r--. 1 root root 144569 9月 21 12:12 mysql.sql.gz

-rw-r--r--. 1 root root 534 9月 21 12:12 oldboy_gbk.sql.gz

-rw-r--r--. 1 root root 1370 9月 21 12:12 oldboy.sql.gz

-rw-r--r--. 1 root root 533 9月 21 12:12 oldboy_utf8.sql.gz

[root@localhost ~]#

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。