如何理解mysqldump备份数据库

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

本文介绍了如何理解mysqldump备份数据库。内容非常详细。感兴趣的朋友可以参考一下,希望对大家有所帮助。

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

usage : MySQL dump[选项]数据库[表] #指南表。

或者MySQL dump[选项]-数据库[选项] db1 [DB2 db3.】#指南库。

或者MySQL dump[选项] -全数据库[选项]

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

/etc/my . CNF/etc/MySQL/my . CNF/u01/app/MySQL/my . CNF ~/. my . CNF

以下组是read: mysqldump客户端

下列选项可作为第一个参数:

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

-否-默认值不要从任何选项文件中读取默认选项。

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

-默认值-额外文件=#-文件=#读取全局文件后读取此文件。

-a -A,-all-数据库导出所有数据库。这与-数据库选择所有数据库相同。

-y -Y,-all-表空间导出所有表空间。

-y -y,-no-表空间不会转储任何表空间信息。

-添加-删除-数据库在每次创建之前添加-添加-删除-数据库。

-添加-删除-表格在每次创建之前添加-添加-删除-表格。(默认情况下打开,使用-跳过-添加-删除-表格禁用)。

-add-lock在INSERT语句周围添加锁。(默认情况下是打开的,通过使用-跳过-添加-锁定来禁用)。

- allow-keywords允许创建列名作为关键字。

-apply-apply-SLAVE-语句在转储底部的“更改主机”和“启动从机”之前添加“停止从机”。

-字符集-dir=命名文件目录的字符集。

-I,-comments注释信息(默认启用,跳过注释禁用)。

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

-紧凑减少输出(用于调试)。禁用结构注释和页眉/页脚结构。启用选项-跳过-添加-删除-表格-跳过-添加-锁定-跳过-注释-跳过-禁用-键-跳过-设置-字符集。

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

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

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

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

-#,-debug [=#]这是非调试版本。抓住这个然后离开。

-调试-检查退出时检查内存和打开文件的使用情况。

况。

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

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

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

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

  -K, --disable-keys  '/*!40000 ALTER TABLE tb_name DISABLE KEYS */; and

                      '/*!40000 ALTER TABLE tb_name ENABLE KEYS */; 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备份数据库就分享到这里了,希望

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/48247.html

(0)

相关推荐

  • LARAVEL AJAX简单跨域的示例分析

    技术LARAVEL AJAX简单跨域的示例分析本篇文章为大家展示了LARAVEL AJAX简单跨域的示例分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。//前端 <scri

    攻略 2021年10月21日
  • 怎么正确认识C语言在当今编程领域的地位

    技术怎么正确认识C语言在当今编程领域的地位这篇文章主要讲解了“怎么正确认识C语言在当今编程领域的地位”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么正确认识C语言在当今

    攻略 2021年10月20日
  • java bean与ejb有哪些区别

    技术java bean与ejb有哪些区别这篇文章主要为大家展示了“java bean与ejb有哪些区别 ”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“java bean与ej

    攻略 2021年12月3日
  • 网上值机提前多久,网上值机后需要提前多久到机场

    技术网上值机提前多久,网上值机后需要提前多久到机场在飞机起飞前2个小时网上值机提前多久,都可以去机场办理登机牌。可以前一天晚上去机场打印登机牌。乘坐飞机前,因需要打印登机牌,领取行程单,办理行李托运,过安检等手续。机场接

    生活 2021年10月22日
  • 在 Pycharm 等编辑器下使用 Python 可视化神器 Plotly Express

    技术在 Pycharm 等编辑器下使用 Python 可视化神器 Plotly Express 在 Pycharm 等编辑器下使用 Python 可视化神器 Plotly Expresshttp://l

    礼包 2021年11月10日
  • 如何理解Elasticsearch倒排索引与分词

    技术如何理解Elasticsearch倒排索引与分词本篇内容主要讲解“如何理解Elasticsearch倒排索引与分词”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何理解E

    攻略 2021年10月23日