具體分析mysqldump備份數據庫時排除某些庫的示例代碼

下面小編就為大家帶來一篇mysqldump備份數據庫時排除某些庫的實例。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

說明:

使用mysqldump –all-databases會導出所有庫。但如果做主從,從主庫dump出數據時,我們是不需要也不想要information_schema 和 mysql 庫的。數據庫少的情況下還可以通過/usr/local/mysql/bin/mysqldump -uroot -p –databases db1 db2 > db1db2.sql 這樣再導出,但如果數據多,這樣指定就很麻煩了。

mysql是支持 ignore-table 的,但是沒有ignore-database,所以要導出除 information_schema和mysql庫的其它所有庫,難道就只能一個個指定database嗎?

解決:

#?mysql?-e?"show?databases;"?-uroot?-p|?grep?-Ev?"Database|information_schema|mysql|test"?|?xargs?mysqldump?-uroot?-p?--databases?>?mysql_dump.sql

附錄:

附錄1:

mysqldump:?Got?error:?1142:?SELECT,LOCK?TABL?command?denied?to?user?‘root'@'localhost'?for?table?‘cond_instances'?when?using?LOCK?TABLES

在mysql5.5中增加了performance_schema,當我們進行mysqldump的時候,會報如下錯誤信息

mysqldump:?Got?error:?1142:?SELECT,LOCK?TABL?command?denied?to?user?‘root'@'localhost'?for?table?‘cond_instances'?when?using?LOCK?TABLES

我們可以在mysqldump中加上參數 –skip-lock-tables,如

#?mysqldump??-uroot??-p???--skip-lock-tables??performance_schema?>?performance_schema.sql?或者過濾掉performance_schema這個庫  #?mysql?-e?"show?databases;"  ?-uroot?-p|?grep?-Ev?"Database|information_schema|mysql|test|performance_schema"?|?xargs?mysqldump?-uroot?-p?--databases?>?mysql_dump.sql

? 版權聲明
THE END
喜歡就支持一下吧
點贊11 分享