日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

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

發布時間:2025/3/12 数据库 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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 ~]#

總結

以上是生活随笔為你收集整理的mysql备份去掉一个库_MySQL备份与恢复(3)mysqldump备份多个库的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。