其实很多东西都能在info里面找到非常详细的说明,只是,我们太忙了,只想要一个答案,而无心去看而已,所以呢,就把用得到的都看一下来记录吧。

命令模式:
mysqldump [options] [db_name [tbl_name ...]]
当不指定tbl_name 或者使用了 --databases | --all-databases 整个库都会被备份。
同时,mysqldump 不会备份 INFOMATION_SCHEMA 库,即使显式的指定。

options:
--opt 同等于 --add-drop-table --add-locks --create-options --disable-keys --extend-insert --lock-tables --quick --set-charset
--compact 同等于 --skip-add-drop-table --skip-add-locks --skip-comments --skip-disable-keys --skip-set-charset
同样,我们可以用--skip-opt or --skip-compact 来进行反转选项。
当我们想对--opt组中的某些选项进行取消的时候,我们可以用--skip来操作:
比如,要取消extend inserts 跟 memory buffing:
[--opt] --skip-extend-inserts --skip-quick。(--opt可选是因为其是默认开启的)。
如果我们要取消--opt中的除禁止索引跟锁表外的选项,则可以用:
--skip-opt --disable-keys --lock-tables。
如果是在组选项中要选择性的关闭或者开启一些功能,顺序很重要。
--disable-keys --lock-tables --skip-opt 将不会获得你想要的效果。

mysqldump 可以逐行的获取-备份表内容(至文件),同时可以在备份(至文件)前将整个内容缓存到内容中。
数据过大的时候开启缓存会产生问题,想要逐行的进行备份,用--quick(或--opt,组选项中开启了--quick),想要开启缓存那么用--skip-quick即可

--help, -?
--add-drop-database 常用--all-databases --databases 备份多库的时候联合使用
--add-drop-table
--add-locks 在重新读入备份文件的时候会插入得更快些。
--all-databases,-A 与--databases 所有库名... 等价,备份所有库,表[infomation_schema除外]
--allow-keywords 允许建立含关键字的列,在每列加上表名作为前缀。
--character-set-dir=path 字符集路径
--comments,-i 默认开启,在备份文件写入版本、主机等信息。--skip-comments 关闭
--acompact 更紧凑的输出。将会开启--skip-add-drop-table --skip-add-locks --skip-comments --skip-disable-keys --skip-set-charset
--compatible=name 为了与其他数据库系统兼容,name={ansi | mysql323 | mysql40 | postgresql | oracle | msssql | db2 | maxdb | no_key_options | no_table_options | no_field_options}的个选项的话用逗号分开。但这并不能保证就一定能与其他数据库兼容,只是保证输出尽量兼容。
--complate-insert,-c 使用包含列的完整插入语句。
--compress,-C 如果clien and server 支持压缩的话就压缩所有信息。
--create-options 包含所有mysql-create-table 语句支持的表选项
--databases,-B 多个库
--debug[=debug_options],-#[debug_options] 调试日志,典型格式`d:t:o,file_name`,默认值`d:t:o,/tmp/mysqldump.trace`
--debug_info
--cdefault-character-set=charset-name 用charset-name 作为默认的字符集。如果没指定charset-name的话,默认使用utf8,早些版本用的是latin1。此选项对用--tab option产生的文件没有影响。
--delayed-insert insert delayed 代替 insert
--delete-master-logs 在主从服务器上,在备份操作完成后会给服务器一个`purge binary logs`语句,删除二进制日志。此选项自动开启--master-data
--disable-keys, -K 每个表都会被 /*!40000 ALTER TABLE tbl_name DISABLE KEYS */;和/*!40000 ALTER TABLE tbl_name ENABLE KEYS*/包围.这会让插入的时候更快,因为所有索引都在所有行插入完毕后建立。只有在非唯一索引的MyISAM表有效。
--dump-date --comments 开启的情况下,默认在文件尾加上日期。--skip-dump-date关闭。
--extend-insert, -e 多行插入。会让文件更小,插入更快。
--fields-terminated-by=...,--fields-enclosed-by=...,--fields-optionally-enclosed-by=...,--fields=escaped-by=..., --tab option
--first-slave 5.5已删除
--flush-logs, -F 备份前刷新日志,需要reload权限。当与--all-databases,每个库被备份时都会刷新。当使用--lock-all-tables or --master-data,日志只有在所有表在锁定的时候被刷新。想要备份跟日志一起刷新,就要配合--lock-all-tables or --master-data.
--flush-privileges 备份库后发送`FLUSH PRIVILEGES`语句到服务器。当其他有库依赖于此库进行恢复的时候必须使用。
--force, -f 出错依然继续。
--host=host_name, -h host_name
--hex-blob 二进制列用16进制表示(`abc`->`ox616263`)
--log-error=file_name
--ignore-table=db_name.tbl_name 忽略表或视图,多张表就多次使用。
--insert-ignore INSERT IGNORE 代替INSERT 语句
--lines-terminated-by=... 与 --tab option 联用
--lock-all-tables, -x 所有库的表锁定。在备份期间产生一个全局读锁。自动关闭 --single-transaction 和--lock-tables.
--lock-tables, -l 每个库备份前锁表。
MyISAM表用READ LOCAL 锁定来允许同步插入。
事务性的表(InnoDb/BDB),--single-transaction 选项更好,因为不需要锁表。
因为--lock-tables为每个库单独锁表,并不能保证在备份在文件后的内容在库间逻辑上的一致。
consistent read:一致性读。快照读。
--single-transaction 备份前发送`START TRANSACTION SQL`语句给服务器,对事务性的表很有用。当`BEGIN`被执行的时候,其备份各库的一致状态,且不会阻塞任何应用。
必须记住的是,只有InnoDB表才会在一致状态下备份。假入是MyISAM,其状态依然会有可能改变。
在备份期间,为了保证成功(备份文件正常、二进制文件坐标正确),其他连接不可使用任何一个:
{ ALTER TABLE | CREATE TABLE | DROP TABLE | RENAME TABLE | TRUNCATE TABLE}语句。因为一致性读与这些语句是不隔离的,
在要备份的表上执行这几个语句会使 mysqldump执行的 `SELECT`命令重新读取表内容而得到错误的内容或者失败。
--single-transaction与--lock-tables是互斥的,因为--lock-tables会让所有未提交的事务悄悄的提交。
--master-data[=value] 产生的备份文件可以作用当前主从服务器的从属服务器。
这将导致备份出来的文件含有一个`CHANGE MASTER TO`语句,二进制日志
(file name 和 position)与被备份服务器一致。
在导入从服务器后可以从主服务器日志处开始同步复制。
默认是value是1,如果值是2,只是写在信息式的写在注释内,并不生效。
此选项要求二进制日志必须开启
--master-data自动关闭--lock-tables,在--single-transaction没指定的
情况下开启--lock-all-tables,这样情况下全局读锁只会在开始备份的产生很
短的时间。无论什么情况,任何对日志的操作都会在备份的时刻发生。
在已有的从服务器上备份出文件再做一个从服务器也是可以的。
1、停止 从服务器进程,获取其状态:
mysql > STOP SLAVE SQL_THREAD;
mysql > SHOW SLAVE STATUS;
2、从上面得到主服务器二进制日制的坐标(file_name file_pos):
Relay_Master_Log_File
Exec_Master_Log_Pos 字段,把他给记下来。
3、dump 从服务器。
shell > mysqldump --master-data=2 --all-database > dumpfile
4、重启从服务器线程
mysql > START SLAVE;
5、新从服务器,导入dumpfile.
shell > mysql < dumpfile
6、在新从服务器上,设置同步坐标。(file_name file_pos)
--no-autocommit 以Set autocommit=0 和 COMMIT语句来包围INSERT语句。
--no-create-db, -n --databases,-B | --all-databases 指定的时候,压缩`CREATE DATABASES`语句
--no-create-info, -t 不写出重新创建备份表的`CREATE TABLE`语句
--no-data, -d 只要表结构。
--no-set-names, -N 等价于--skip-set-charset
--opt
--norder-by-primary 当主键、或唯一索引存在的时候以此排序列行。当MyISAM表要转到InnoDB表的时候,但会花费更多时间。
--password[=password],-p[password]
-pipe, -W
--port=port_num, -P port_num
--quick, -q
--quote-names, -Q
--result-file=file_name, -r file_name
--routines, -R 包括函数跟结构。但没有时间戳,新导入的时间就是重新建立过程的时间戳。想要原来的时间戳,导出mysql.proc表后进行恢复。
--set-charset 默认开启 加入`set NAMES default_character_set`语句。--skip-set-charset 关闭
--skip-comments
--skip-opt
--socket=path, -S path
--ssl*
--tab=path, -T path
--tables 多表
--tariggers --skip-triggers
--user=user_name, -u user_name
--verbose, -v
--version, -V
--xml, -X
mysql > CHAGE MASTER TO
-> MASTER_LOG_FILE = file_name MASTER_LOG_POS = file_pos;
自行添加CHAGE MASTER TO 需要的参数,比如主服务器地址等。

mysqldump-info的更多相关文章

  1. MySQL自动化运维之用mysqldump和mysqlbinlog实现某一数据库的每周全备和每天差异备份,并添加到执行计划【热备】

    案例: 线上有一数据库,需要每周全备一次,每天差备一次[安全起见还是差备吧,不要增备,不要吝啬磁盘哦,而且差备恢复还很快] 1.每周对数据库hellodb做完全备份 crontab任务计划: * * ...

  2. mysqldump数据库同步遇到的问题

    1.同步数据是遇到 没有 lock database权限,报 " mysqldump: Got error: 1044: Access denied for user 'spider_dat ...

  3. mysqldump和xtrabackup备份原理实现说明

    背景: MySQL数据库备份分为逻辑备份和物理备份两大类,犹豫到底用那种备份方式的时候先了解下它们的差异: 逻辑备份的特点是:直接生成SQL语句,在恢复的时候执行备份的SQL语句实现数据库数据的重现. ...

  4. MySQL mysqldump数据导出详解

    介绍 在日常维护工作当中经常会需要对数据进行导出操作,而mysqldump是导出数据过程中使用非常频繁的一个工具:它自带的功能参数非常多,文章中会列举出一些常用的操作,在文章末尾会将所有的参数详细说明 ...

  5. mysqldump的实现原理

    对于MySQL的备份,可分为以下两种: 1. 冷备 2. 热备 其中,冷备,顾名思义,就是将数据库关掉,利用操作系统命令拷贝数据库相关文件.而热备指的是在线热备,即在不关闭数据库的情况下,对数据库进行 ...

  6. MySQL备份命令mysqldump参数说明与示例

    1. 语法选项说明 -h, --host=name主机名 -P[ port_num], --port=port_num用于连接MySQL服务器的的TCP/IP端口号 --master-data这个选项 ...

  7. MySQL备份还原——mysqldump工具介绍

    mysqldump是一款MySQL逻辑备份的工具,他将数据库里面的对象(表)导出成SQL脚本文件.有点类似于SQL SEVER的"任务-生成脚本"的逻辑备份功能.mysqldump ...

  8. mysqldump: Error: Binlogging on server not active

    在学习使用mysqldump时,使用mysqldump备份时,遇到了下面两个错误: [root@DB-Server backup]# ./mysql_dump_back.sh Warning: Usi ...

  9. mysqldump:Couldn't execute 'show create table `tablename`': Table tablename' doesn't exist (1146)

    遇到了一个错误mysqldump: Couldn't execute 'show create table `CONCURRENCY_ERRORS`': Table INVOICE_OLD.CONCU ...

  10. mysqldump: Got error: 1142: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'accounts' when using LOCK TABLES

    AutoMySQLBackup备份时,出现mysqldump: Got error: 1142: SELECT, LOCK TABLES command denied to user 'root'@' ...

随机推荐

  1. OpenCV 学习

    #include <opencv2\opencv.hpp> #include <iostream> #include <opencv2\highgui\highgui.h ...

  2. Bootstrap <基础八>图片

    Bootstrap 提供了三个可对图片应用简单样式的 class: .img-rounded:添加 border-radius:6px 来获得图片圆角. .img-circle:添加 border-r ...

  3. Emacs 常用快捷键

    关闭欢迎界面:Q 保存:c-x c-s 退出:c-x c-c 暂时退出:c-z       屏幕滚动 移动到下一屏:c-v 移动到上一屏:m-v 将光标所在行置中:c-L       光标移动 上一行 ...

  4. christian louboutin ballerinas outlet

    www.heelschuhe.de, Wie auch immer, Schneiden auf den Punkt; David und Connie in Vancouver: Wir hoffe ...

  5. map的四种遍历方式

    map是Java中非常常用的一种数据结构,但map不同于set和list都继承自Collection接口. 所以map没有实现Collection的Iterator 方法,自身没有迭代器来遍历元素. ...

  6. DotNetBar for Windows Forms 12.5.0.2_冰河之刃重打包版原创发布-带官方示例程序版

    关于 DotNetBar for Windows Forms 12.5.0.2_冰河之刃重打包版 --------------------11.8.0.8_冰河之刃重打包版-------------- ...

  7. MAC与windows下打开当前文件路径的命令行(终端)

    MAC 下文件夹与终端: 1.打开当前路径的终端窗口方法: ①直接拖动要打开的文件夹到终端 ②打开finder的服务偏好设置, 勾选"新建位于文件夹位置的终端"选项, 以后可以在文 ...

  8. 如何在ashx页面获取Session值

    [转]   在一般事务处理页面,可以轻松的得到 Request,Response对象,从而进行相应的操作,如下: HttpRequest Request = context.Request; Http ...

  9. java nio 与io区别

    转自:http://blog.csdn.net/keda8997110/article/details/19549493 当学习了Java NIO和IO的API后,一个问题马上涌入脑海: 我应该何时使 ...

  10. 7月17日——高校就业信息网站功能及数据获取之python爬虫

    本周我们小组在分析上周用户需求之后,确定了网站的主要框架和功能.数据收集和存储方式,以及项目任务分配. 一.网站的主要框架和功能. 网站近期将要实现的主要功能有,先重点收集高校(华东五校)就业宣讲会的 ...