zoukankan      html  css  js  c++  java
  • mysqldump使用

    mysqldump命令

    导出数据库、表的结构和内容

    语法结构:

    Usage: mysqldump [OPTIONS] database [tables]
    OR     mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
    OR     mysqldump [OPTIONS] --all-databases [OPTIONS]
    

    部分参数说明:
    --single-transaction

      当前只对innodb引擎有效。启用该参数备份时,要确保没有任何DDL语句执行。
    -l, --lock-tables

      备份时锁住所有表。一般用于MyISAM引擎。Innodb引擎不需要,只要使用--single-transaction即可,且二者是互斥的。
    --master-data[=#] 

      输出结果会将二进制日志位置和名称显示出来,默认为空。会自动开启--lock-all-tables=on,自动忽略--lock-tables。

      1会打印change master命令;

    # mysqldump -uroot -p --master-data=1 --databases test > test1.sql
    ...
    --
    -- Position to start replication or point-in-time recovery from
    --
    
    CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=120;
    ...
    

      2会打印change master命令,并在前面加注释;

    # mysqldump -uroot -p --master-data=2 --databases test > test2.sql
    ...
    --
    -- Position to start replication or point-in-time recovery from
    --
    
    -- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=120;
    ...
    

    -E, --events

      备份事件调度器
    -R, --routines

      备份存储过程和函数
    --triggers

      备份触发器

    --hex-blob

      将BINARY, VARBINARY, BLOB列类型备份为十六进制的格式。

    # mysqldump -uroot -p --tab="/tmp/"  employees > emp.sql
    Enter password: 
    # ls -ltr /tmp
    total 138220
    -rw-r--r--. 1 root  root      1422 Dec 23 07:23 departments.sql
    -rw-rw-rw-. 1 mysql mysql      153 Dec 23 07:23 departments.txt
    -rw-r--r--. 1 root  root      1705 Dec 23 07:23 dept_emp.sql
    -rw-rw-rw-. 1 mysql mysql 11175033 Dec 23 07:23 dept_emp.txt
    -rw-rw-rw-. 1 mysql mysql      816 Dec 23 07:23 dept_manager.txt
    -rw-r--r--. 1 root  root      1725 Dec 23 07:23 dept_manager.sql
    -rw-r--r--. 1 root  root      1505 Dec 23 07:23 employees.sql
    -rw-rw-rw-. 1 mysql mysql 13821993 Dec 23 07:23 employees.txt
    -rw-r--r--. 1 root  root      1566 Dec 23 07:23 salaries.sql
    -rw-rw-rw-. 1 mysql mysql 98781181 Dec 23 07:23 salaries.txt
    -rw-r--r--. 1 root  root      1573 Dec 23 07:23 titles.sql
    -rw-rw-rw-. 1 mysql mysql 17718376 Dec 23 07:23 titles.txt
    

    --opt  

      启用一组优化选项,包括关闭缓冲区。如果关闭该选项,mysqldump在把表写到写到磁盘前,都会导出到内存中。

    --allow-keywords,--quote-names  

      在导出和恢复表时,可以使用保留字作为表的名字

    --complete-insert  

      能在不完全相同列的表之间移动数据  

    mysqldump上使用--database或--all-databases选项,最终导出的数据在每个数据库中是一致的。但是不同库之间未必一致。使用--lock-all-tables选项可以解决这个问题。                                                      

  • 相关阅读:
    3.24
    3.23
    构建之法读书笔记2
    寒假学习day23
    寒假学习day22
    寒假学习day21
    寒假学习day20
    寒假学习day19
    寒假学习每周总结4
    寒假学习day18
  • 原文地址:https://www.cnblogs.com/abclife/p/5070112.html
Copyright © 2011-2022 走看看