语法:

  • 备份某个数据库:
mysqldump -uroot -p*** [options] –-databases DB_name  > back_db_name.sql

--databases:保留创建数据库语句

  • 备份数据库中的某张表:
mysqldump -uroot -p*** [options] DB_name Tb_name > back_tb_name.sql

恢复时需要指定库名

  • 只备份表结构:
mysqldump -uroot -p*** --no-data DB_name Tb_name > back_tb_struct.sql

​ -d, --no-data No row information.

  • 备份所有数据库:
mysqldump -uroot -p*** [options] --single-transaction –-all-databases > back_all_db.sql
#远程备份
mysqldump -uroot -p*** [options] --single-transaction –-all-databases | ssh -p 22 -o StrictHostKeyChecking=no 127.0.0.1 "cat -> /tmp/back_all_db.sql"

常用选项:

  • --single-transaction:该选项导出数据之前提交一个BEGIN SQL语句,不会阻塞任何应该程序而且能保证导出数据时的一致性状态。

  • --lock-all-tables:备份之前锁定所有库的所有表。

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

  • --routines|-R:导出存储过程以及自定义函数

  • --evnets|-E:导出事件

  • --no-data|-d:不到表数据

  • --master-data={0|1|2}: 该选项将binlog的位置和文件名追加到输出文件中。如果是0,不记录日志的位置;如果为1,以CHANGE MASTER TO 的方式记录位置,可用于恢复后直接启动从服务器;如果为2,CHANGE MASTER TO 的方式记录位置,默认被注释。该选项将打开--lock-all-tables 选项,除非--single-transaction也被指定(在这种情况下,全局读锁在开始导出时获得很短的时间)。该选项自动关闭--lock-tables选项。

数据导入导出

该功能在MySQL 5.7.6版本后必须要secure_file_priv指定一个已存在的目录,然后outfile所输出的文件名在这个目录下



secure_file_priv参数说明:

  1. 这个参数用来限制数据导入和导出操作的效果,例如执行LOAD DATASELECT ... INTO OUTFILE语句和LOAD_FILE()函数。这些操作需要用户具有FILE权限;

  2. 如果这个参数为空,这个变量没有效果,可以再任意位置执行导入导出;

  3. 如果这个参数设为一个目录名,MySQL服务只允许在这个目录中执行文件的导入和导出操作,这个目录必须存在,MySQL服务不会创建它;

  4. 如果这个参数为NULL,MySQL服务会禁止导入和导出操作。

导出表中某个字段的数据:

select [列名] into outfile '/dir/path/filename' from [表名];

导入数据:

load data infile '/dir/path/filename' into table [表名];  #文件的列出应与表相同

先导出表结构:

mysqldump -uroot -p*** --single-transaction --databases -d [dbname]> /tmp/mysql_priv/db_struc.sql

再导出数据表:

mysqldump -uroot -p*** --single-transaction --skip-tz-utc -T /tmp/mysql_priv/ [dbname]

先恢复表结构:

mysql -uroot -p*** [dbname] < /tmp/mysql_priv/db_struc.sql

再导入txt数据:

mysqlimport --local -uroot -p*** [dbname] /tmp/mysql_priv/tablename.txt

mysqldump 使用小结的更多相关文章

  1. mysqldump详解

    Ⅰ.mysqldump的简单使用与注意点 1.1 基本参数 只备份innodb,用不了几个参数,记住下面几个即可,其他的没什么卵用 -A 备份所有的database -B 备份哪几个数据库 -R 备份 ...

  2. [转]MySQL数据库备份和还原的常用命令小结

    MySQL数据库备份和还原的常用命令小结,学习mysql的朋友可以参考下: 备份MySQL数据库的命令 mysqldump -hhostname -uusername -ppassword datab ...

  3. mysqldump工具,工作的本质是什么呢?(dump表的时候,是否会产生drop表的语句)

    需求描述: 今天在看mysqldump工具的使用过程,发现一个同事,是这样写的mysqldump命令 mysqldump -uroot -pmysql employees titles | mysql ...

  4. mysql通过mysqldump工具,对某个库下的表进行备份

    需求描述: 使用mysqldump工具对某个库下的表进行备份的方法. 操作过程: 1.通过mysqldump工具完成此目的 [mysql@redhat6 MysqlDb_Backup]$ mysqld ...

  5. mysql数据库使用mysqldump工具针对一个数据库备份,使用--databases选项与不使用该参数的区别

    需求描述: 今天在做mysqldump备份某个数据库的试验,在备份某个数据库的时候可以使用 --databases参数,也可以直接进行某个数据库的备份,那么这里记录下两者的区别 操作过程: 1.使用- ...

  6. mysqldump进行数据库的全备时,备份数据库的顺序是什么,就是先备份哪个库,然后再备份哪个库

    需求描述: 今天在用mysqldump工具进行数据库的备份的时候,突然想了一个问题,比如我有10个库要进行备份 那么是先备份哪个,然后再备份哪个呢,所以,做了实验,验证下. 操作过程: 1.使用--a ...

  7. mysqldump备份时,--master-data选项的作用是什么?

    需求描述: 今天在研究mysql的备份和恢复,使用mysqldump备份数据库时,用到--master-data选项, 在此,测试并记录选项的作用 测试过程: 1.不使用--master-data进行 ...

  8. 数据库备份还原——mysqlbackup与mysqldump对比测试

    1      环境描述 1.1      硬件环境 服务器类型:华为RH5885 IP: 10.148.128.100 内存: 64G 物理CPU个数:4 CPU核数:8 逻辑CPU个数:64 Int ...

  9. H2知识小结

    1.官网: http://www.h2database.com/html/main.html file:///E:/Develop/H2/docs/html/tutorial.html#web_app ...

随机推荐

  1. Spring Hibernate Transaction示例

    JDBCDAO.java package com.bf; import java.sql.ResultSet; import java.sql.SQLException; import java.ut ...

  2. nginx 长连接keeplive

    发现后台日志打印太多 FD打开太多的日志. 处理思路: 修改nginx upstream的长连接 http://blog.csdn.net/gzh0222/article/details/852363 ...

  3. inbox.MoveTo Folder does not move message out of inbox

    inbox.MoveTo Folder does not move message out of inbox #160  Closed vnwind opened this issue on 14 M ...

  4. windows安装 centos

    1. 使用最新版UltraISO将ISO镜像刻录到U盘 2. U盘启动电脑进入安装界面 正常情况下你应该会看到下面的这个界面: 选择第一项,然后按TAB键(在评论区有朋友踫到没有按TAB键的提示,经d ...

  5. Go cookie

    Web状态,对于我们从c/c++转过来的人来说还是很重视的啊 但,如何用好cookie来让我心顺畅,目前还是有点障碍 可能是我没能完全理解cookie 但是,如果由浏览器客户端决定自己绑定那个cook ...

  6. 深入解密.NET(Tuple元祖)

    元组(Tuple)数学概念上是指包含特定元素与数列的数据结构,n-Tuple称为一个n元祖.比如拿数据表来类比,数据表的每一行就是一个元祖,每一列是元祖的一个属性. 它可以视为由于你不想大动干戈创建一 ...

  7. ES6学习之 解构赋值

    最近看了一个vue的项目,发现作者大量使用了ES6的语法,包括async, Promise, Set, Map还有一些解构赋值, 才发现自己对于ES6的语法缺乏了总结和运用,看得有点艰难,所以重新学习 ...

  8. Ajax的重构

    Ajax的重构方法: (1)创建一个单独的JS文件,命名为AjaxRequest.js,并且在该文件中编写重构Ajax所需要的代码. var net = new Object(); //创建一个全局变 ...

  9. 设置一个div网页滚动时,使其固定在头部,当页面滚动到距离头部300px时,隐藏该div,另一个div在底部,此时显示;当页面滚动到起始位置时,头部div出现,底部div隐藏

    设置一个div网页滚动时,使其固定在头部,当页面滚动到距离头部300px时,隐藏该div,另一个div在底部,此时显示: 当页面滚动到起始位置时,头部div出现,底部div隐藏 前端代码: <! ...

  10. Day11 多进程与多线程编程

    一.进程与线程 1.什么是进程(process)? An executing instance of a program is called a process. Each process provi ...