天天看点

mysqldump的一些使用技巧

mysqldump的一些使用技巧
    ++++++++++++++++++++++
    这部分讲几个mysqldump的技巧-解决几个特定的问题;

         备份数据库
        ======================
        、shell> mysqldump db1 > dump.sql 
        、shell> mysqladmin create db2 
        、shell> mysql db2 < dump.sql 
        不要使用--databases, 因为那样会导致USE db1 语句(这个选项回生成CREATE DATABASE和USE语句)覆盖第三条语句中指定的db2

         将数据库从一个服务器拷贝到另一个服务器
        ======================
        、在server1上:shell> mysqldump --databases db1 > dump.sql 
        、将dump.sql文件拷贝到另一个服务器server2;
        、在server2上:shell> mysql < dump.sql 
        使用--databases语句,因为会生成CREATE DATABASE和USE 语句,这样,即使server2上不存在对应的数据库,也会自动创建;

        也可以使用--databases选项,这样,我们有可能需要在server2上创建相对应的数据库
        、在server1上:shell> mysqldump db1 > dump.sql 
        、在server2上:shell> mysqladmin create db1
                       shell> mysql db1 < dump.sql 
        在这种情况下,可以指定一个不同的数据库名字(本例子中,server2上创建的数据库的名字不一定非得是db1)

         备份存储程序
        ======================
        mysqldump有一些选项可以用来备份存储程序:存储过程、函数、触发器、事件
        --events 备份计划事件
        --routines 备份存储过程和函数
        --triggers 备份触发器
        其中,--triggers选项默认是开启的,其他的默认是没有开启的;
        相对应--skip-events --skip-routines --skip-triggers
           
表结构和数据分开备份
        ======================
        --no-data选项告诉mysqldump只备份创建表的语句而不备份表中的数据;
        --no-create-info选项告诉mysqldump只备份表中的数据而不备份创建表的语句;
        例如:
            shell> mysqldump --no-data test > dump-defs.sql 
            shell> mysqldump --no-create-info test > dump-data.sql 

           
mysqldump的一些使用技巧
mysqldump的一些使用技巧
mysqldump的一些使用技巧
使用mysqldump测试升级不兼容性
        ======================
        升级mysql的时候,可以先单独安装一个新版本,然后将现有版本的数据库导出来,在导入到新版本里边(这也适用于”降级“)
        、在当前版本上:shell> mysqldump --all-databases --no-data --routines --events > dump-defs.sql 
        、在新版本上:shell> mysql < dump-defs.sql 
        因为dump问没包含数据,所以这个过程非常快。这样,就能很快发现升级过程中出行的问题或者警告;
        如果没有问题,或者已经解决了问题,下一步就可以将数据导入到新版本里边了:
        、在当前版本上:shell> mysqldump --all-databases --no-create-info > dump-data.sql 
        、在新版本上:shell> mysql < dump-data.sql 

           

继续阅读