zoukankan      html  css  js  c++  java
  • mysqldump常用参数

    mysqldunp常用参数:--single-transaction 和 --master-data=2 以及 --triggers --routines --events



    导出整个数据库(包括数据库中的数据)
    mysqldump -u username -p dbname > dbname.sql


    导出某些库
    mysqldump -uusername -ppassword --databases db1 db2 > db1db2.sql


    导出数据库结构(不含数据)
    mysqldump -u username -p -d dbname > dbname.sql


    导出数据库中的某张数据表(包含数据)
    mysqldump -u username -p dbname tablename > tablename.sql


    导出数据库中的某张数据表的表结构(不含数据)
    mysqldump -u username -p -d dbname tablename > tablename.sql


    将备份文件压缩:
    mysqldump -hhostname -uusername -ppassword --databases dbname | gzip > backup-file.sql.gz


    导入数据库:
    mysql> use target_dbname
    mysql> source /mysql/backup/path/backup-file.sql

    mysql target_dbname <backup-file.sql


    用mysql命令恢复
    mysql -uroot -ppassword db_name < /backup/mysql_bak.sql
    如果是压缩的
    mysql -uroot -ppassword db_name < `gzip -d /backup/mysql_bak.sql.gz`


    for MyISAM
    mysqldump --user=root --all-databases --flush-privileges --lock-all-tables
    --master-data=1 --flush-logs --triggers --routines --events
    --hex-blob >$BACKUP_DIR/full_dump_$BACKUP_TIMESTAMP.sql


    for InnoDB
    mysqldump --user=root --all-databases --flush-privileges --single-transaction
    --master-data=1 --flush-logs --triggers --routines --events
    --hex-blob >$BACKUP_DIR/full_dump_$BACKUP_TIMESTAMP.sql


    每个库都分别生成一个文件
    BDATE=`date +%Y%m%d-%H%M%S`
    for dbname in ` mysql -uroot -pchengce243 -e "show databases;" | grep -Evi "database|infor|perfor"`
    do
    mysqldump -uroot -pchengce243 --single-transaction --triggers --routines --events $dbname | gzip > /data/backup/${dbname}_${BDATE}.sql.gz
    done


    mysqldump常用参数说明:
    –user, -u
    指定连接的用户名。

    –password, -p
    连接数据库密码

    –host, -h
    指定要连接的服务器名。

    –port, -P
    连接数据库端口号

    --complete-insert, -c
    使用完整的insert语句(包含列名称)。这么做能提高插入效率,但是可能会受到max_allowed_packet参数的影响而导致插入失败。

    --add-drop--database
    在每个CREATE DATABASE语句前添加DROP DATABASE语句。

    --add-drop-table
    每个数据表创建之前添加drop数据表语句。(默认为打开状态,使用--skip-add-drop-table取消选项)

    –default-character-set
    设置默认字符集,默认值为utf8

    –all-databases , -A
    导出全部数据库

    –-databases, -B
    导出几个数据库。参数后面所有名字参量都被看作数据库名。

    --tables
    覆盖--databases (-B)参数,指定需要导出的表名。

    --no-create-db, -n
    只导出数据,而不添加CREATE DATABASE 语句。

    –no-data, -d
    不导出任何数据,只导出数据库表结构。

    --no-create-info, -t
    只导出数据,不导结构。

    --force
    在导出过程中忽略出现的SQL错误。类似Oracle exp命令中的ignore参数。

    --flush-logs
    开始导出之前刷新日志。如果是全库导出,建议先刷新日志文件,否就不用了。请注意:假如一次导出多个数据库(使用选项--databases或者--all-databases),将会逐个数据库刷新日志。除使用--lock-all-tables或者--master-data外。在这种情况下,日志将会被刷新一次,相应的所以表同时被锁定。因此,如果打算同时导出和刷新日志应该使用--lock-all-tables 或者--master-data 和--flush-logs。

    --where, -w
    只导出符合条件的记录。如果条件包含命令解释符专用空格或字符,一定要将条件引用起来。

    --single-transaction
    该选项在导出数据之前提交一个BEGIN SQL语句,BEGIN 不会阻塞任何应用程序且能保证导出时数据库的一致性状态。它只适用于多版本存储引擎,仅InnoDB。本选项和--lock-tables 选项是互斥的,因为LOCK TABLES 会使任何挂起的事务隐含提交。要想导出大表的话,应结合使用--quick 选项。

    --flush-logs , -F
    在开始导出前刷新服务器的日志文件。注意,如果你一次性导出很多数据库(使用 -databases=或--all-databases选项),导出每个库时都会触发日志刷新。例外是当使用了--lock-all-tables或--master-data时:日志只会被刷新一次,那个时候所有表都会被锁住。所以如果你希望你的导出和日志刷新发生在同一个确定的时刻,你需要使用--lock-all-tables,或者--master-data配合--flush-logs。


    --master-data
    这个选项可以把binlog的位置和文件名添加到输出中,如果等于1,将会打印成一个CHANGE MASTER命令;如果等于2,会加上注释前缀。并且这个选项会自动打开--lock-all-tables,除非同时设置了--single-transaction(这种情况下,全局读锁只会在开始dump的时候加上一小段时间,不要忘了阅读--single-transaction的部分)。在任何情况下,所有日志中的操作都会发生在导出的准确时刻。这个选项会自动关闭--lock-tables。

    -x, --lock-all-tables
    锁定所有库中所有的表。这是通过在整个dump的过程中持有全局读锁来实现的。会自动关闭--single-transaction和--lock-tables。

    --routines, -R
    导出存储过程以及自定义函数。

    --replace
    使用REPLACE INTO 取代INSERT INTO

    --hex-blob
    将BINARY、VARBINARY、BLOG和BIT列类型备份为16进制的格式,mysqldump到处的文件一般是文本文件,但是如果有上述类型,在文本模式下可能有些字符不可见。



  • 相关阅读:
    BT656跟BT1120和BT709有什么区别 分类: 生活百科 HI3531 2013-11-26 09:03 1320人阅读 评论(0) 收藏
    plx9030触发pci中断 分类: 浅谈PCI 2013-11-15 17:52 634人阅读 评论(2) 收藏
    如何把任意文件隐藏在一张图片里? 分类: DirectX 2013-11-15 16:05 524人阅读 评论(0) 收藏
    如何使用系统设备枚举器 分类: DirectX 2013-11-15 16:03 707人阅读 评论(0) 收藏
    利用 DirectShow 开发自己的 Filter 分类: DirectX 2013-11-15 16:01 686人阅读 评论(0) 收藏
    做好口碑营销需要抓住的四条法则
    情绪管理的误区
    20年,一张卡和一个时代
    消费税悄然扩围 行业协会忙协商
    一个投顾团队的股灾记忆
  • 原文地址:https://www.cnblogs.com/l10n/p/9400453.html
Copyright © 2011-2022 走看看