手机版

使用mysqldump工具备份和恢复Mysql数据库实例以及参数的详细描述

时间:2021-08-02 来源:互联网 编辑:宝哥软件园 浏览:

类型:数据库班级规模:5.5M语言:英语成绩:2.0标签:立即下载。在网站数据维护中,我们经常会遇到备份和恢复数据库的情况。我们一般用以下两种方法来处理它:

1.使用进入输出文件和加载数据文件来导入和导出备份数据

这种方法的优点是导出的数据可以指定自己的格式,导出的数据是纯数据,没有建表信息。可以直接导入到同一个数据库的另一个不同的表中,比mysqldump更灵活。

让我们看看下面的例子:

(1)下面的mysql命令是将mytable表中的数据导出到file /home/db_bak2012的select。

从我的表格中选择*状态!=0和名称!='''到outfile '/home/db_bak2012 '字段中,以“|”结尾,以' ' '行结尾,以' \r\n '结尾;

要导入刚刚备份的数据,可以使用load file方法和下面的mysql命令将导出的数据导入mytable_bak的表中:

将文件“/home/db_bak2012”中的数据加载到以“|”结尾的表mytable_bakfields中,这些字段由以“\ r \ n”结尾的“”行括起来;

2.使用mysqldump以固定条件导出数据库

让我们看几个常见的用例:(1)导出整个数据库

Myqldump-u用户名-p数据库名导出文件名mysqldump-u wcnc-p smgp _ apps _ wcncwcnc . SQL

(2)导出表格

Myqldump-u用户名-p数据库名表名导出文件名mysqldump-u wcnc-p smgp _ apps _ wcncusers wcnc _ users . SQL

(3)导出数据库结构

myqldump-u wcnc-p-d-add-drop-table smgp _ apps _ wcncd : \ wcnc _ db。SQL #-d在每个create语句之前只导出结构,不导出数据-添加-删除-表添加-添加-删除-表

(4)导入数据库,通常使用source命令

#进入mysql数据库控制台,mysql -u root -p mysqluse数据库mysqlset名称utf8(先确认编码,如果没有设置,可能会出现乱码,注意不是UTF-8。)#然后使用source命令,下面的参数是脚本文件(比如。此处使用的SQL)MySQL Source d 3360 \ wcnc _ db . SQL

上面的例子只是最基本的,有时候我们可能需要批量导出多个库,所以我们可以添加- databases或者-B,如下所示:

Myqldump-uroot-p-databases测试MySQL #空间分离

有时我们可能需要备份数据库中的所有库,因此我们可以使用所有数据库,如下所示:

MySQL dump-uroot-p-all-数据库

也许我们会有更多的需求。以下是我在网上找到的参数描述,贴出来供大家参考。

参数描述

-所有数据库-一

导出所有数据库。

MySQL dump-uroot-p-all-数据库

-所有-表空间,-是

导出所有表空间。

MySQL dump-uroot-p-all-数据库-all-表空间

-不-表空间,-y

不导出任何表空间信息。

MySQL dump-uroot-p-all-数据库-no-表空间

-添加-删除-数据库

在创建每个数据库之前,添加一个drop database语句。

MySQL dump-uroot-p-all-databases-add-drop-database

-添加-删除-表格

在创建每个数据表之前,添加一个drop数据表语句。(默认值为on,并且-skip-add-drop-table用于取消该选项)

Myqldump-uroot-p-all-databases(默认情况下为add drop语句)

myqldump-uroot-p-all-databases-skip-add-drop-table(取消drop语句)

-加锁

在导出每个表之前添加LOCKTABLES,然后解锁该表。(默认值为开,使用-跳过-添加-锁定取消该选项)

Myqldump-uroot-p-all-databases(默认情况下添加LOCK语句)

myqldump-uroot-p-all-databases-skip-add-LOcks(取消锁定语句)

-允许-关键词

允许您创建作为关键字的列名。这是通过在每个列名前面加上表名来实现的。

MySQL dump-uroot-p-all-databases-allow-关键字

应用从属语句

在导出结束时,在“CHANGEMASTER”和“STARTSLAVE”之前添加“STOPSLAVE”。

MySQL dump-uroot-p-all-databases-apply-slave-语句

-字符集-目录

字符集文件目录

MySQL dump-uroot-p-all-databases-charset-dir=/usr/local/MySQL/share/MySQL/charset

-评论

附加注释信息。默认情况下,它是打开的,可以通过- skip-comments取消

myqldump-uroot-p-all-数据库(默认记录注释)

myqldump-uroot-p-all-databases-skip-comments(取消注释)

兼容

导出的数据将与其他数据库或旧版本的MySQL兼容。这些值可以是ansi、mysql323、mysql40、postgresql、oracle、mssql、db2、maxdb、no_key_options、no_tables_options、no_field_options等。

若要使用多个值,请用逗号分隔它们。它不保证完全兼容,但尽可能兼容。

MySQL dump-uroot-p-all-databases-compatible=ansi

-紧凑

导出较少的输出信息(用于调试)。去掉评论、头尾等。可以使用以下选项:-跳过-添加-删除-表格-跳过-添加-锁定-跳过-注释-跳过-禁用-键

MySQL dump-uroot-p-all-databases-compact

-完整-插入,-c

使用完整的insert语句(包括列名)。这样做可以提高插入效率,但可能会受到max_allowed_packet参数的影响,导致插入失败。

MySQL dump-uroot-p-all-databases-complete-insert

-压缩,-C

启用压缩以在客户端和服务器之间传递所有信息

MySQL dump-uroot-p-all-databases-compress

-创建-选项,-a

在CREATETABLE语句中包含所有MySQL特性选项。(默认值为开)

MySQL dump-uroot-p-all-数据库

数据库

导出几个数据库。参数之后的所有名称参数都被视为数据库名称。

MySQL dump-uroot-p-databaseststmysql

-调试

为调试输出调试信息。默认值为:d:t3360o,/tmp/mysqldump.trace。

MySQL dump-uroot-p-all-databases-debug

MySQL dump-uroot-p-all-databases-debug=" d :t : o,/tmp/debug.trace "

-调试-检查

检查内存和打开文件的说明并退出。

MySQL dump-uroot-p-all-databases-debug-check

-调试信息

输出调试信息并退出

MySQL dump-uroot-p-all-databases-debug-info

-默认-字符集

设置默认字符集,默认值为utf8

MySQL dump-uroot-p-all-databases-default-字符集=latin1

-延迟插入

数据通过INSERTDELAYED方法导出

MySQL dump-uroot-p-all-databases-delay-insert

-删除-主日志

主备份后删除日志。该参数将自动激活主数据。

MySQL dump-uroot-p-all-databases-delete-master-logs

-禁用-键

对于每个表,使用/*!40000 alteretabletbl _ name disablekeys */;和/*!40000 alteretabletbl _ namenablekeys */;语句引用了INSERT语句。这样可以更快地导入转储文件,因为在插入所有行后都会对其进行索引。此选项仅适用于MyISAM表,默认情况下处于打开状态。

MySQL dump-uroot-p-all-数据库

-垃圾场-奴隶

此选项将导致主binlog位置和文件名被追加到导出的数据文件中。当设置为1时,将使用CHANGEMASTER命令输出到数据文件;设置为2时,指令信息会添加到命令之前。除非指定了单个事务,否则此选项将打开锁定所有表。此选项自动关闭- lock-tables选项。默认值为0。

MySQL dump-uroot-p-all-databases-dump-slave=1

MySQL dump-uroot-p-all-databases-dump-slave=2

事件

导出事件。

MySQL dump-uroot-p-all-databases-events

-扩展-插入,-e

对多个值列使用插入语法。这使得导出文件更小,并加快了导入速度。默认打开,取消选项-跳过-跳过-扩展-插入。

MySQL dump-uroot-p-all-数据库

myqldump-uroot-p-all-databases-skip-extended-insert(取消选项)

-字段-终止于

给定字段在导出文件中被忽略。与- tab选项一起使用时,它不能与-databases和- all-databases选项一起使用

mysqldump-uroot-ptest test-tab="/home/MySQL "-字段-终止于="# "

-字段-括起来

输出文件中的每个字段都用给定的字符包装。与- tab选项一起使用时,它不能与-databases和- all-databases选项一起使用

MySQL dump-uroot-ptest test-tab="/home/MySQL "-字段-用="# "括起来

-字段-可选-括起来

输出文件中的每个字段都有选择地用给定的字符包装。与- tab选项一起使用时,它不能与-databases和- all-databases选项一起使用

MySQL dump-uroot-ptest test-tab="/home/MySQL "-字段-用="#" -括起来-字段-可选地-用="# "括起来

菲尔兹逃跑了

输出文件中的每个字段都忽略给定的字符。与- tab选项一起使用时,它不能与-databases和- all-databases选项一起使用

mysqldump-uroot-pmysql user-tab="/home/MySQL "-field-escalated-by=" # "

冲洗日志

开始导出之前,请刷新日志。

请注意,如果一次导出多个数据库(使用选项-数据库或-所有数据库),日志将逐个数据库刷新。除了使用锁所有表或主数据。在这种情况下,日志将被刷新一次,同时相应的表将被锁定。因此,如果您打算同时导出和刷新日志,您应该使用-lock-all-tables或- master-data和-flush-log。

MySQL dump-uroot-p-all-database-flush-log

同花顺特权

导出mysql数据库后,发出FLUSHPRIVILEGES语句。为了正确恢复,当导出mysql数据库并依赖mysql数据库数据时,应使用此选项。

MySQL dump-uroot-p-all-database-flush-特权

-武力

导出过程中忽略SQL错误。

MySQL dump-uroot-p-all-databases-force

救命

显示帮助信息并退出。

mysqldump -帮助

十六进制斑点

以十六进制格式导出二进制字符串字段。如果有二进制数据,则必须使用此选项。受影响的字段类型是BINARY、VARBINARY和BLOB。

MySQL dump-uroot-p-all-databases-hex-blob

主持人

要导出的主机信息

MySQL dump-uroot-p-host=localhost-all-databases

忽略表

不要导出指定的表。指定当忽略多个表时,需要重复多次,一次一个表。每个表必须同时指定数据库和表名。示例:-ignore-table=database . table 1-ignore-table=database . table 2.

MySQL dump-uroot-p-host=localhost-all-databases-ignore-table=MySQL . user

-包括-主-主机-端口

在“CHANGEMASTERTO .”中添加“MASTER _ HOST=主机,MASTER _ PORT=端口”转储从机生成的语句

MySQL dump-uroot-p-host=localhost-all-databases-include-master-host-port

-插入-忽略

插入行时,请使用INSERTIGNORE语句。

MySQL dump-uroot-p-host=localhost-all-databases-insert-ignore

-行-终止于

输出文件的每一行都由一个给定的字符串分割。与- tab选项一起使用时,它不能与-databases和- all-databases选项一起使用。

MySQL dump-uroot-p-host=localhosttesttest-tab="/tmp/MySQL "-line-terminated-by=" # "

-锁定所有表格,-x

提交锁定所有数据库中所有表的请求,以确保数据一致性。这是一个全局读锁,单事务和锁表选项会自动关闭。

MySQL dump-uroot-p-host=localhost-all-databases-lock-all-tables

-锁桌-l

开始导出前锁定所有表。使用READLOCAL锁定表,以允许并行插入MyISAM表。对于支持事务的表,如InnoDB和BDB,单事务是更好的选择,因为它根本不需要锁定表。

请注意,导出多个数据库时,- lock-tables会分别锁定每个数据库的表。因此,此选项不能保证数据库之间导出文件中表的逻辑一致性。不同数据库表的导出状态可能完全不同。

MySQL dump-uroot-p-host=localhost-all-databases-lock-tables

-日志-错误

给定文件附加警告和错误消息

MySQL dump-uroot-p-host=localhost-all-databases-log-error=/tmp/MySQL dump _ error _ log . err

-主数据

此选项将binlog的位置和文件名附加到输出文件中。如果为1,则输出CHANGEMASTER命令;如果是2,在输出CHANGEMASTER命令之前添加注释信息。此选项打开-lock-all-tables选项,除非还指定了- single-transaction(在这种情况下,全局读锁需要很短的时间才能开始导出;其他内容请参考下面的-单笔交易选项。此选项自动关闭- lock-tables选项。

MySQL dump-uroot-p-host=localhost-all-databases-master-data=1;

MySQL dump-uroot-p-host=localhost-all-databases-master-data=2;

-最大允许数据包数

服务器发送和接收的最大数据包长度。

MySQL dump-uroot-p-host=localhost-all-databases-max _ allowed _ packet=10240

-网络_缓冲区_长度

传输控制协议和窝连接的缓存大小。

MySQL dump-uroot-p-host=localhost-all-databases-net _ buffer _ length=1024

-不-自动提交

使用自动提交/提交语句包裹表。

MySQL转储-uroot-p-host=localhost-所有数据库-无-自动提交

-不-创建-数据库,-n

只导出数据,而不添加库名语句。

MySQL转储-uroot-p-host=localhost-all-databases-no-create-db

-不-创建信息,-t

只导出数据,而不添加创建数据表语句。

MySQL转储-uroot-p-host=localhost-all-databases-no-create-info

没有数据

不导出任何数据,只导出数据库表结构。

MySQL转储-uroot-p-host=localhost-所有数据库-无数据

没有固定的名字

等同于跳过字符集

MySQL转储-uroot-p-host=localhost-all-databases-no-set-name

-选择

等同于-添加-删除-表,-添加-锁,-创建-选项,-快速,-扩展-插入-锁-表,-设置-字符集-禁用-键该选项默认开启,可以用跳过选择禁用。

MySQL转储-uroot-p-host=localhost-all-databases-opt

-按主要订单

如果存在主键,或者第一个唯一键,对每个表的记录进行排序。在导出MyISAM表到InnoDB表时有效,但会使得导出工作花费很长时间。

MySQL转储-uroot-p-host=localhost-所有数据库-按主数据库排序

-密码,-p

连接数据库密码

-管道(窗户系统可用)

使用命名管道连接关系型数据库

MySQL转储-uroot-p-host=localhost-all-databases-pipe

港口

连接数据库端口号

-协议

使用的连接协议,包括:tcp,套接字、管道、内存。

MySQL转储-uroot-p-host=localhost-all-databases-protocol=TCP

-快q

不缓冲查询,直接导出到标准输出。默认为打开状态,使用-跳过-快取消该选项。

MySQL转储-uroot-p-host=localhost-all-数据库

MySQL转储-uroot-p-host=localhost-all-databases-skip-quick

-引用名字,-问

使用(`)引起表和列名。默认为打开状态,使用-跳过-引用-名字取消该选项。

MySQL转储-uroot-p-host=localhost-all-数据库

MySQL转储-uroot-p-host=localhost-all-databases-skip-quote-name

-更换

使用REPLACEINTO取代插入到。

MySQL转储-uroot-p-host=localhost-所有-数据库-替换

-结果文件,-r

直接输出到指定文件中。该选项应该用在使用回车换行对(\\r\\n)换行的系统上(例如:DOS,Windows)。该选项确保只有一行被使用。

MySQL dump-uroot-p-host=localhost-all-databases-result-file=/tmp/MySQL dump _ result _ file。文本文件(textfile)

-套路,-R

导出存储过程以及自定义函数。

MySQL转储-uroot-p-host=localhost-all-databases-routines

字符集

添加' SETNAMESdefault_character_set '到输出文件。默认为打开状态,使用跳过字符集关闭选项。

MySQL转储-uroot-p-host=localhost-all-数据库

MySQL dump-uroot-p-host=localhost-all-databases-skip-set-charset

-单一交易

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

MySQL转储-uroot-p-host=localhost-all-databases-单一事务

倾倒日期

将导出时间添加到输出文件中。默认为打开状态,使用跳过转储日期关闭选项。

MySQL转储-uroot-p-host=localhost-all-数据库

MySQL转储-uroot-p-host=localhost-all-databases-skip-dump-date

跳过选择

禁用选择选项。

MySQL转储-uroot-p-host=localhost-all-databases-skip-opt

-插座,-S

指定连接关系型数据库的窝文件位置,默认路径/tmp/mysql.sock

MySQL dump-uroot-p-host=localhost-all-databases-socket=/tmp/mysqld。短袜

- tab,-T

为每个表在给定路径创建标签分割的文本文件。注意:仅仅用于逻辑备份和服务器服务器运行在相同机器上。

MySQL转储-uroot-p-host=localhosttesttest-tab='/home/MySQL '

-桌子

重写-databases (-b)参数以指定要导出的表名。

MySQL dump-uroot-p-host=localhost-databasestest-table test

触发器

导出触发器。默认情况下,此选项处于启用状态,使用-skip-触发器禁用。

MySQL dump-uroot-p-host=localhost-all-databases-触发器

-协调世界时

在导出顶部设置时区TIME_ZONE=' 00:00 ',以确保在不同时区或数据移动到其他时区时导出的时间戳数据的正确性。

MySQL dump-uroot-p-host=localhost-all-databases-tz-utc

-用户,-u

指定连接的用户名。

-详细,- v

输出各种平台信息。

-版本,-V

输出mysqldump版本信息并退出

哪里

仅转储由给定的WHERE条件选择的记录。请注意,如果条件包含特定于命令解释器的空格或字符,请务必参考该条件。

MySQL dump-uroot-p-host=localhost-all-databases-where=" user=' root ' "

- xml,-X

导出XML格式。

MySQL dump-uroot-p-host=localhost-all-databases-XML

-插件目录

与不同插件版本兼容的客户端插件目录。

MySQL dump-uroot-p-host=localhost-all-databases-plugin _ dir="/usr/local/lib/plugin "

-默认身份验证

客户端插件的默认权限。

MySQL dump-uroot-p-host=localhost-all-databases-default-auth="/usr/local/lib/PLUGIN/PLUGIN "

版权声明:使用mysqldump工具备份和恢复Mysql数据库实例以及参数的详细描述是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。