mysqldump备份数据库时排除某些库的实例
说明:
使用mysqldump–all-databases会导出所有库。但如果做主从,从主库dump出数据时,我们是不需要也不想要information_schema和mysql库的。数据库少的情况下还可以通过/usr/local/mysql/bin/mysqldump-uroot-p--databasesdb1db2>db1db2.sql这样再导出,但如果数据多,这样指定就很麻烦了。
mysql是支持ignore-table的,但是没有ignore-database,所以要导出除information_schema和mysql库的其它所有库,难道就只能一个个指定database吗?
解决:
#mysql-e"showdatabases;"-uroot-p|grep-Ev"Database|information_schema|mysql|test"|xargsmysqldump-uroot-p--databases>mysql_dump.sql
附录:
附录1:mysqldump:Goterror:1142:SELECT,LOCKTABLcommanddeniedtouser‘root'@'localhost'fortable‘cond_instances'whenusingLOCKTABLES
在mysql5.5中增加了performance_schema,当我们进行mysqldump的时候,会报如下错误信息:
mysqldump:Goterror:1142:SELECT,LOCKTABLcommanddeniedtouser‘root'@'localhost'fortable‘cond_instances'whenusingLOCKTABLES
我们可以在mysqldump中加上参数–skip-lock-tables,如
#mysqldump -uroot -p --skip-lock-tables performance_schema>performance_schema.sql或者过滤掉performance_schema这个库
#mysql-e"showdatabases;"-uroot-p|grep-Ev"Database|information_schema|mysql|test|performance_schema"|xargsmysqldump-uroot-p--databases>mysql_dump.sql
以上这篇mysqldump备份数据库时排除某些库的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。