iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >如何理解mysqldump备份数据库
  • 647
分享到

如何理解mysqldump备份数据库

2024-04-02 19:04:59 647人浏览 安东尼
摘要

这篇文章给大家介绍如何理解Mysqldump备份数据库,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。mysqldump 用于导出mysql数据库的结构和数据。Usage: mysqld

这篇文章给大家介绍如何理解Mysqldump备份数据库,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

mysqldump 用于导出mysql数据库的结构和数据。

Usage: mysqldump [OPTioNS] database [tables] #导表

OR     mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...] #导库

OR     mysqldump [OPTIONS] --all-databases [OPTIONS]

默认选项按照给定顺序从以下文件读取:

/etc/my.cnf /etc/mysql/my.cnf /u01/app/mysql/my.cnf ~/.my.cnf 

The following groups are read: mysqldump client

The following options may be given as the first argument:

--print-defaults        打印程序参数列表并退出。

--no-defaults           不要从任何选项文件读取默认选项。

--defaults-file=#       只读从给定文件的默认选项 #.

--defaults-extra-file=# 读取全局文件后读取此文件.

  -A, --all-databases 导出所有数据库.这和 --databases 选择所有数据库相同

  -Y, --all-tablespaces 导出所有表空间

  -y, --no-tablespaces  不转储任何表空间信息.

  --add-drop-database 在每次创建之前添加一个DROP DATABASE.

  --add-drop-table    在每次创建之前添加DROP TABLE.(默认开启,使用--skip-add-drop-table将其禁用)

  --add-locks         在INSERT语句周围添加定.(默认开启,使用--skip-add-locks 将其禁用)

  --allow-keyWords    允许创建作为关键字的列名称.

  --apply-slave-statements  在“CHANGE MASTER”和“START SLAVE”之前添加“STOP SLAVE”到转储底部。

  --character-sets-dir=name 文件名录的字符集

  -i, --comments      注释信息(默认开启,使用--skip-comments 将其禁用)

  --compatible=name   将转储更改为与给定模式兼容。 默认情况下,表以适合MySQL的格式转储。 合法的模式是:ansi,mysql323,mysql40,postgresqloracle,mssql,db2,maxdb,no_key_options,no_table_options,no_field_options。 可以使用由逗号分隔的几种模式。 注意:需要MySQL服务器版本4.1.0或更高版本。 早期服务器版本将忽略此选项。

  --compact           减少输出(适用于调试)。 禁用结构注释和页眉/页脚结构。 启用选项--skip-add-drop-table --skip-add-locks --skip-comments --skip-disable-keys --skip-set-charset。

  -c, --complete-insert  使用完整的insert语句

  -C, --compress      在服务器/客户端协议中使用压缩。

  -a, --create-options 包括所有MySQL特定的创建选项(默认为on;使用--skip-create-options禁用)。

  -B, --databases     转储几个数据库。所有名称参数都被视为数据库名称。

  -#, --debug[=#]     这是一个非调试版本。 捕捉这个并退出。

  --debug-check       检查内存并在退出时打开文件使用情况。

  --debug-info        在退出时打印一些调试信息。

  --default-character-set=name 设置默认字符集。

  --delayed-insert    使用INSERT DELAYED插入行。

  --delete-master-logs 在备份后删除主服务器上的日志。 这会自动启用--master-data。

  -K, --disable-keys  '; and

                      '; will be put

                      in the output.

  --dump-slave[=#]  (默认为on;使用--skip-disable-keys禁用。)这将导致主站的二进制日志位置和文件名附加到转储数据输出。 将值设置为1,将在转储数据输出中作为CHANGE MASTER命令打印; 如果等于2,该命令将以注释符号作为前缀。 该选项将打开--lock-all-tables,除非指定了--single-transaction(在这种情况下,全局读锁定只在转储开始时进行一小段时间 - 不要忘记阅读 --single-transaction下面)。 在所有情况下,对日志的任何操作将发生在dump的确切时刻.Option会自动关闭 - 锁定表。

  -E, --events        转储事件。

  -e, --extended-insert 使用包含多个VALUES列表的多行INSERT语法(默认为on;使用--skip-extended-insert禁用)。

  --fields-terminated-by=name 终止符

  --fields-enclosed-by=name 分隔符

  --fields-optionally-enclosed-by=name 字段可选分隔符       

  --fields-escaped-by=name 转义字符               

  -F, --flush-logs    在开始转储之前,刷新服务器中的日志文件。 请注意,如果一次转储许多数据库(使用选项--databases =或--all-databases),则将为每个转储的数据库刷新日志。 例外情况:使用--lock-all-tables或--master-data:在这种情况下,日志将只刷新一次,对应于所有表被锁定的时刻。 所以如果你想要你的转储和日志刷新发生在同一个确切的时刻,你应该使用--lock-all-tables或--master-data和--flush-logs。

  --flush-privileges  在转储mysql数据库后发出FLUSH PRIVILEGES语句。 该选项应该在任何时候使用转储包含mysql数据库和任何其他数据库依赖mysql数据库中的数据进行正确还原。

  -f, --force         即使错误也继续执行

  -?, --help          查看帮助信息

  --hex-blob          以十六进制转储二进制文件

  -h, --host=name     连接主机

  --ignore-table=name 不备份指定的表。要指定要忽略的多个表,请多次使用指令,每个表使用一次。每个表必须同时指定数据库和表名,例如, - ignore-table = database.table。

  --include-master-host-port 在使用--dump-slave生成的转储中添加'MASTER_HOST = <host>,MASTER_PORT = <port>'到'CHANGE MASTER TO ..'。

  --insert-ignore     使用INSERT IGNORE插入行。

  --lines-terminated-by=name 行终止符                   

  -x, --lock-all-tables 备份期间锁定所有表,通过添加全局锁来实现。会自动关闭--single-transaction 和--lock-tables off.

  -l, --lock-tables   锁定所有表(默认开启,使用--skip-lock-tables禁用)

  --log-error=name   错误日志文件

  --master-data[=#]   这将导致二进制日志位置和文件名附加到输出。 如果等于1,将其作为CHANGE MASTER命令打印; 如果等于2,该命令将以注释符号作为前缀。 此选项将打开--lock-all-tables,除非指定了--single-transaction(在这种情况下,全局读锁定只在转储开始时进行很短的时间;不要忘记阅读 --single-transaction)。 在所有情况下,对日志的任何操作都将发生在转储的确切时刻。 选项自动关闭 --lock-tables。

  --max-allowed-packet=# 发送到服务器或从服务器接收的最大包长度。

  --net-buffer-length=# 用于tcp / IP和套接字通信的缓冲区大小。

  --no-autocommit     使用autocommit / commit语句来封装表。

  -n, --no-create-db  不使用CREATE DATABASE ... IF EXISTS语句,如果给出--all-databases或--databases,则通常为每个转储的数据库输出。

  -t, --no-create-info 不写表的信息

  -d, --no-data       不导出数据

  -N, --no-set-names  不设置字符集 ,与--skip-set-charset一样

  --opt               与--add-drop-table, --add-locks, --create-options,--quick, --extended-insert, --lock-tables, --set-charset,and --disable-keys. Enabled by default, disable with--skip-opt一样.

  --order-by-primary  如果存在主键或者唯一键,则按此类键进行排序。在转储从MyISAM到InnoDB表会很有用,但会使转储本身需要更长的时间。

  -p, --password[=name] 密码

  -P, --port=#        连接端口

  --protocol=name     连接协议 (tcp, Socket, pipe,

                      memory).

  -q, --quick         不要缓冲查询,直接转储到stdout(默认为on;使用--skip-quick禁用)。

  -Q, --quote-names   引号表和带有反引号(`)的列名(默认为on;使用--skip-quote-names禁用)。

  --replace           使用REPLACE INTO而不是INSERT INTO。

  -r, --result-file=name 直接输出到给定文件。 此选项应在使用回车换行对(\ r \ n)分隔文本行的系统(例如,DOS,windows)中使用。 此选项确保只使用单个换行符。

  -R, --routines      转储存储例程(函数和过程)。

  --set-charset      将“SET NAMES default_character_set”添加到输出。 (默认为on;使用--skip-set-charset禁用)。

  --single-transaction 通过在单个事务中转储所有表来创建一致的快照。 仅适用于存储在支持多版本的存储引擎中的表(当前只有InnoDB); 转储不保证对于其他存储引擎是一致的。 当单事务转储正在进行时,为了确保有效的转储文件(正确的表内容和二进制日志位置),没有其他连接应该使用以下语句:ALTER TABLE,DROP TABLE,RENAME TABLE,TRUNCATE TABLE,as 一致的快照不与它们隔离。 选项自动关闭 --lock-tables.

  --dump-date         将转储日期放在输出结尾。(默认开启; 使用 --skip-dump-date禁用.)

  --skip-opt          禁用 --opt. Disables --add-drop-table, --add-locks,

                      --create-options, --quick, --extended-insert,

                      --lock-tables, --set-charset, and --disable-keys.

  -S, --socket=name   连接用的socket

  -T, --tab=name      为每个给定路径的表创建制表符分隔的文本文件。 (创建.sql和.txt文件。)注意:这仅在mysqldump在与mysql服务器相同的机器上运行时才有效。

  --tables            覆盖选项--databases(-B)。

  --triggers          转储每个转储表的触发器.(默认为on;使用--skip-triggers禁用)。

  --tz-utc           SET TIME_ZONE =转储顶部的'+ 00:00',以便当服务器在不同时区中的数据在不同时区的服务器之间移动时允许转储TIMESTAMP数据(默认为on; use --skip- tz-utc禁用。)

  -u, --user=name     用户名.

  -v, --verbose       打印各个阶段的信息.

  -V, --version       输出版本信息并退出。

  -w, --where=name    导出查询条件中的数据

  -X, --xml           使用XML格式

  --plugin-dir=name   客户端插件目录

  --default-auth=name 使用的默认认证客户端插件。

Variables (--variable-name=value)

and boolean options {FALSE|TRUE}  Value (after reading options)

--------------------------------- ----------------------------------------

all-databases                     FALSE

all-tablespaces                   FALSE

no-tablespaces                    FALSE

add-drop-database                 FALSE

add-drop-table                    TRUE

add-locks                         TRUE

allow-keywords                    FALSE

apply-slave-statements            FALSE

character-sets-dir                (No default value)

comments                          TRUE

compatible                        (No default value)

compact                           FALSE

complete-insert                   FALSE

compress                          FALSE

create-options                    TRUE

databases                         FALSE

debug-check                       FALSE

debug-info                        FALSE

default-character-set             utf8

delayed-insert                    FALSE

delete-master-logs                FALSE

disable-keys                      TRUE

dump-slave                        0

events                            FALSE

extended-insert                   TRUE

fields-terminated-by              (No default value)

fields-enclosed-by                (No default value)

fields-optionally-enclosed-by     (No default value)

fields-escaped-by                 (No default value)

flush-logs                        FALSE

flush-privileges                  FALSE

force                             FALSE

hex-blob                          FALSE

host                              (No default value)

include-master-host-port          FALSE

insert-ignore                     FALSE

lines-terminated-by               (No default value)

lock-all-tables                   FALSE

lock-tables                       TRUE

log-error                         (No default value)

master-data                       0

max-allowed-packet                25165824

net-buffer-length                 1046528

no-autocommit                     FALSE

no-create-db                      FALSE

no-create-info                    FALSE

no-data                           FALSE

order-by-primary                  FALSE

port                              0

quick                             TRUE

quote-names                       TRUE

replace                           FALSE

routines                          FALSE

set-charset                       TRUE

single-transaction                FALSE

dump-date                         TRUE

socket                            (No default value)

tab                               (No default value)

triggers                          TRUE

tz-utc                            TRUE

user                              (No default value)

verbose                           FALSE

where                             (No default value)

plugin-dir                        (No default value)

default-auth                      (No default value)

-----------------------------------------------------------------------------------------------------

1、导单表

mysqldump -uroot -p mysql user;

2、导单库

mysqldump -uroot -phwj3509 --databases hwj >test.sql

3、导多表

mysqldump -uroot -p mysql user proc>test.sql

4、导多库

mysqldump -uroot -p --databases hwj 51vj>test.sql

5、增量备份

mysqldump下实现增量备份,其实是靠mysqldump全备和binlog日志实现,通过在mysqldump命令中添加--flush-logs来生成新的日志。恢复时使用mysqlbinlog进行恢复。

mysqldump -uroot -phwj3509 --single-transaction --flush-logs --master-data=2 --all_databases> backup.sql;

关于如何理解mysqldump备份数据库就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

您可能感兴趣的文档:

--结束END--

本文标题: 如何理解mysqldump备份数据库

本文链接: https://www.lsjlt.com/news/62140.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何理解mysqldump备份数据库
    这篇文章给大家介绍如何理解mysqldump备份数据库,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。mysqldump 用于导出mysql数据库的结构和数据。Usage: mysqld...
    99+
    2022-10-18
  • 如何理解mysqldump备份
    如何理解mysqldump备份,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。 mysqldump...
    99+
    2022-10-19
  • 使用mysqldump该如何备份数据库
    本文主要给大家介绍使用mysqldump该如何备份数据库,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下使用mysqldump该如何备份数据库吧。My...
    99+
    2022-10-18
  • 如何使用mysqldump备份MySQL数据库
    如何使用mysqldump备份MySQL数据库,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。  一、数据备份的重要性  工作中,如果意外删除了...
    99+
    2022-10-18
  • mysql——数据库备份——使用mysqldump命令备份所有数据库
    mysqldump命令备份所有数据库; 语法格式:mysqldump -u username -ppassword --all-databases  > backupname.sql --all-databases:这个选项表示后面跟一...
    99+
    2023-10-09
    数据库 mysql java sql mybatis
  • 如何解析mysqldump备份原理
    本篇文章给大家分享的是有关如何解析mysqldump备份原理,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。 这里通...
    99+
    2022-10-19
  • mysqldump进行数据备份详解
    前言: 用mysqlbinlog工具(mysql原生自带的工具)介意快速解析大量的binlog日志文件,并使用二进制日志进行数据恢复的应用实践,这篇博客我们讲一下数据备份先关的命令,因为我们做后台开发一般工作在shell...
    99+
    2022-07-14
    mysqldump进行数据备份 mysqldump数据备份
  • mysqldump如何进行数据备份
    本篇内容主要讲解“mysqldump如何进行数据备份”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysqldump如何进行数据备份”吧!前言:用mysqlbinlog工具(mysql原生自带的...
    99+
    2023-07-02
  • MySQL mysqldump备份数据库命令行
    mysqldump是mysql用于转存储数据库的实用程序。它主要产生一个SQL脚本,其中包含从头重新创建数据库所必需的命令CREATE TABLE INSERT等。 mysqldump...
    99+
    2022-10-18
  • mysqldump中怎么备份MYSQL数据库
    这篇文章将为大家详细讲解有关mysqldump中怎么备份MYSQL数据库,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。 1、备份脚本内容[davi...
    99+
    2022-10-18
  • MySQL mysqldump备份数据库(附带实例)
    数据库的主要作用就是对数据进行保存和维护,所以备份数据是数据库管理中最常用的操作。为了防止数据库意外崩溃或硬件损伤而导致的数据丢失,数据库系统提供了备份和恢复策略。 保证数据安全的最重要的一个措施就是定期的对数据库进行备份。这样即使发生了意...
    99+
    2023-08-31
    数据库 mysql java
  • 使用mysqldump怎么备份MySQL数据库
    今天就跟大家聊聊有关使用mysqldump怎么备份MySQL数据库,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。  一、数据备份的重要性  工作中,...
    99+
    2022-10-18
  • mysqldump备份指定mysql数据库脚本
        前几天有朋友让帮忙写一个mysql数据备份脚本,于是就有了下文通过mysqldump命令备份数据库的脚本,贴出来跟大家交流,若有问题,请指正,谢谢。    实...
    99+
    2022-10-18
  • MySQL数据库备份之mysqldump的使用
    原文:https://www.cnblogs.com/tiaopixiaonaofu/p/13976681.html...
    99+
    2016-12-02
    MySQL数据库备份之mysqldump的使用 数据库入门 数据库基础教程
  • mysqldump备份数据库的示例分析
    本篇文章给大家分享的是有关mysqldump备份数据库的示例分析,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。#!/bin/bash ...
    99+
    2022-10-18
  • 如何使用Mysqldump备份和恢复mysql数据库
    这篇文章给大家介绍如何使用Mysqldump备份和恢复mysql数据库,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 dump is an effective tool to bac...
    99+
    2022-10-18
  • 如何使用mysqldump备份异机恢复数据库
    这篇文章给大家分享的是有关如何使用mysqldump备份异机恢复数据库的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 使用mysqldump备份异机...
    99+
    2022-10-18
  • 如何进行MySQL mysqldump从库备份
    如何进行MySQL mysqldump从库备份,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 #!/bin/bash MYSQL_PATH...
    99+
    2022-10-19
  • Windows下手动、自动备份Mysql数据库(mysqldump)
    Windows下手动、自动备份Mysql数据库 一、手动备份1.1 命令行备份1.2 通过第三方工具备份(Navicat) 二、自动备份2.1、编写备份脚本2.2 windows 创...
    99+
    2023-09-10
    数据库 mysql 服务器
  • 两个场景下Mysqldump数据库备份恢复
        昨天凌晨2点做过一次完全备份,白天正常使用,该下班的时候,好巧啊!硬盘坏了。不过幸运的是做过备份并且二进制日志和数据库分开存放 1、建立数据库并开启二进制日志 建立用于存放二进制日志的文件夹,修改文件夹属组属主使mysq...
    99+
    2022-02-08
    两个场景下Mysqldump数据库备份恢复
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作