语法:

  • 备份某个数据库:
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. Linux下的python等操作【转载】

    转自:https://blog.csdn.net/healthy_coder/article/details/50546384 https://blog.csdn.net/boyun58/articl ...

  2. TestNG-详解preserve-order的作用与测试case的执行顺序

    在TestNG xml配置文件中,关于<test>的配置里面,有一个属性叫preserve-order,一开始以为这个属性可以用来控制测试case(那些被@Test注解标注的方法)的执行顺 ...

  3. numpy中np.c_和np.r_

    np.r_:按列连接两个矩阵,就是把两矩阵上下相加,要求列数相等,类似于pandas中的concat() np.c_:按行连接两个矩阵,就是把两矩阵左右相加,要求行数相等,类似于pandas中的mer ...

  4. python中参数传递之位置传递、关键字传递、包裹传递与解包裹

    原文地址https://blog.csdn.net/love666666shen/article/details/77131487 1.位置与关键字传递 (1)位置传递:先用形式参数定义,然后在调用时 ...

  5. Redux 笔记详解

    npm install --save redux 多数情况下,你还需要使用 React 绑定库和开发者工具. npm install --save react-redux npm install -- ...

  6. 问题:mysql服务正在启动 mysql服务无法启动 && mysql启动脚本 mysql关闭脚本

    此篇目编写两个核心目的: 1.mysql服务启动脚本(start_mysql.bat),mysql服务停止脚本(stop_mysql.bat)的讲解. 2.解决问题:mysql服务无法启动. 操作流程 ...

  7. python文件基础IO,OS

    #!/usr/bin/python # -*- coding: UTF-8 -*- import os # 导入 Phone 包 #File 对象方法: file对象提供了操作文件的一系列方法. #O ...

  8. not value specified for parameter问题解决方案

    前段时间遇到这个问题找了半天没有找到,今天又调试了突然发现出现这个问题的根本原因是sql语句中的参数没有赋值或者参数类型与数据库字段类型不匹配所导致的. 例如: String sql = " ...

  9. docker tool

    安装docker tool http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/ 安装1.8.3 有把vbox等服务器地址加 ...

  10. Git SSH密钥对生成以及多个SSH存在情况配置

    一.使用Git Bash 生成一个新的SSH密钥 1. 打开 Git Bash. 2. 邮箱设置粘贴下面的文字,替换成为你自己的邮箱. Github SSH 1 $ ssh-keygen -t rsa ...