zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    bzoj 4007
    bzoj 2190
    bzoj 2186
    bzoj 2005
    bzoj 2721
    bzoj 1951
    CF919F
    CF1005F
    CF1019C
    bitset用法详解
  • 原文地址:https://www.cnblogs.com/hllnj2008/p/5206449.html
Copyright © 2011-2022 走看看