浅谈mysqldump使用方法(MySQL数据库的备份与恢复)

#mysqldump --help

1.mysqldump的几种常用方法:

(1)导出整个数据库(包括数据库中的数据)

mysqldump -u username -p dbname > dbname.sql   

(2)导出数据库结构(不含数据)

mysqldump -u username -p -d dbname > dbname.sql   

(3)导出数据库中的某张数据表(包含数据)

mysqldump -u username -p dbname tablename > tablename.sql   

(4)导出数据库中的某张数据表的表结构(不含数据)

mysqldump -u username -p -d dbname tablename > tablename.sql  

2.mysqldump常用参数说明:

--all-databases , -A    导出全部数据库.   mysqldump -uroot -p --all-databases > all_databases_backup.sql

--all-tablespaces , -Y   导出全部表空间。mysqldump -uroot -p –all-databases –all-tablespaces

--no-tablespaces , -y  不导出任何表空间信息。mysqldump -uroot -p –all-databases –no-tablespaces

--add-drop-database   每个数据库创建之前添加drop数据库语句。mysqldump -uroot -p –all-databases –add-drop-database

–add-drop-table   每个数据表创建之前添加drop数据表语句。(默认为打开状态,使用–skip-add-drop-table取消选项)mysqldump -uroot -p –all-databases (默认添加drop语句)mysqldump -uroot -p –all-databases –skip-add-drop-table (取消drop语句)

–add-locks   在每个表导出之前增加LOCK TABLES并且之后UNLOCK TABLE。(默认为打开状态,使用–skip-add-locks取消选项)mysqldump -uroot -p –all-databases (默认添加LOCK语句)mysqldump -uroot -p –all-databases –skip-add-locks (取消LOCK语句)

–comments   附加注释信息。默认为打开,可以用–skip-comments取消mysqldump -uroot -p –all-databases (默认记录注释)mysqldump -uroot -p –all-databases –skip-comments (取消注释)

–compact   导出更少的输出信息(用于调试)。去掉注释和头尾等结构。可以使用选项:–skip-add-drop-table –skip-add-locks –skip-comments –skip-disable-keysmysqldump -uroot -p –all-databases –compact

–complete-insert, -c   使用完整的insert语句(包含列名称)。这么做能提高插入效率,但是可能会受到max_allowed_packet参数的影响而导致插入失败。mysqldump -uroot -p –all-databases –complete-insert

–compress, -C   在客户端和服务器之间启用压缩传递所有信息mysqldump -uroot -p –all-databases –compress

–databases, -B   导出几个数据库。参数后面所有名字参量都被看作数据库名。mysqldump -uroot -p –databases test mysql

–debug   输出debug信息,用于调试。默认值为:d:t:o,/tmp/mysqldump.tracemysqldump -uroot -p –all-databases –debugmysqldump -uroot -p –all-databases –debug=” d:t:o,/tmp/debug.trace”

–debug-info   输出调试信息并退出mysqldump -uroot -p –all-databases –debug-info

–default-character-set   设置默认字符集,默认值为utf8mysqldump -uroot -p –all-databases –default-character-set=latin1

–delayed-insert   采用延时插入方式(INSERT DELAYED)导出数据mysqldump -uroot -p –all-databases –delayed-insert

–events, -E  导出事件。mysqldump -uroot -p –all-databases –events

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

–flush-privileges   在导出mysql数据库之后,发出一条FLUSH PRIVILEGES 语句。为了正确恢复,该选项应该用于导出mysql数据库和依赖mysql数据库数据的任何时候。mysqldump -uroot -p –all-databases –flush-privileges

–force   在导出过程中忽略出现的SQL错误。mysqldump -uroot -p –all-databases –force

–host, -h   需要导出的主机信息mysqldump -uroot -p –host=localhost –all-databases

–ignore-table   不导出指定表。指定忽略多个表时,需要重复多次,每次一个表。每个表必须同时指定数据库和表名。例如:–ignore-table=database.table1 –ignore-table=database.table2 ……mysqldump -uroot -p –host=localhost –all-databases –ignore-table=mysql.user

–lock-all-tables, -x   提交请求锁定所有数据库中的所有表,以保证数据的一致性。这是一个全局读锁,并且自动关闭–single-transaction 和–lock-tables 选项。mysqldump -uroot -p –host=localhost –all-databases –lock-all-tables

–lock-tables, -l   开始导出前,锁定所有表。用READ LOCAL锁定表以允许MyISAM表并行插入。对于支持事务的表例如InnoDB和BDB,–single-transaction是一个更好的选择,因为它根本不需要锁定表。请注意当导出多个数据库时,–lock-tables分别为每个数据库锁定表。因此,该选项不能保证导出文件中的表在数据库之间的逻辑一致性。不同数据库表的导出状态可以完全不同。mysqldump -uroot -p –host=localhost –all-databases –lock-tables

–no-create-db, -n   只导出数据,而不添加CREATE DATABASE 语句。mysqldump -uroot -p –host=localhost –all-databases –no-create-db

–no-create-info, -t   只导出数据,而不添加CREATE TABLE 语句。mysqldump -uroot -p –host=localhost –all-databases –no-create-info

–no-data, -d   不导出任何数据,只导出数据库表结构。mysqldump -uroot -p –host=localhost –all-databases –no-data

–password, -p   连接数据库密码

–port, -P   连接数据库端口号

–user, -u   指定连接的用户名。

3.mysqldump常用实例:

(1) mysqldump常用于数据库的备份与还原,在备份的过程中我们可以根据自己的实际情况添加以上任何参数,假设有数据库test_db,执行以下命令,即可完成对整个数据库的备份:

    mysqldump -u root -p test_db > test_db.sql

(2)如要对数据进行还原,可执行如下命令:

    mysql -u username -p test_db < test_db.sql   

(3)还原数据库操作还可以使用以下方法:

    mysql> sourcetest_db.sql 

以上这篇浅谈mysqldump使用方法(MySQL数据库的备份与恢复)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • mysql备份恢复mysqldump.exe几个常用用例

    1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名  mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql 2.导出一个表 mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名 mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql 3.导出一个数据库结构 mysqldump -u wcnc -p -d --add-drop-ta

  • 用mysqldump备份和恢复指定表的方法

    复制代码 代码如下: mysqldump -u user -p db tab1 tab2 > db.sql 恢复  复制代码 代码如下: mysql -u user -p db < db.sql 参考: 1.拷备文件          :   (保证数据库没有写操作(可以给表上锁定))直接拷贝文件不能移植到其它机器上,除非你正在拷贝的表使用MyISAM存储格式 2.mysqldump    :   mysqldump生成能够移植到其它机器的文本文件 例: 备份整个数据库     --> 

  • mysql数据库备份及恢复命令 mysqldump,source的用法

    还原一个数据库:mysql -h localhost -u root -p123456 www<c:\www.sql 备份一个数据库:mysqldump -h localhost -u root -p123456 www > d:\www2008-2-26.sql //以下是在程序中进行测试 //$command = "mysqldump --opt -h $dbhost -u $dbuser -p $dbpass $dbname | gzip > $backupFile&qu

  • 浅谈mysqldump使用方法(MySQL数据库的备份与恢复)

    #mysqldump --help 1.mysqldump的几种常用方法: (1)导出整个数据库(包括数据库中的数据) mysqldump -u username -p dbname > dbname.sql    (2)导出数据库结构(不含数据) mysqldump -u username -p -d dbname > dbname.sql    (3)导出数据库中的某张数据表(包含数据) mysqldump -u username -p dbname tablename > tabl

  • 浅谈Django中view对数据库的调用方法

    question: Django中对数据库的调用非常的隐蔽,在各种复杂的模块互相拼接继承中很难发现获取数据库内容的部分 来,开始试图理解一下下 首先,数据库中的表对应的是model中的每一个类,类中的变量对应表的属性,通常属性名就是变量名.有一个比较特殊的东西就是ForeignKey,它代表了与其他表的关联约束键,即SQL中的约束键,通常和其他表中的主键primary key相关联. 理解了model是我们定义的数据表,接下来的事情就会越发的简单,我们都知道网页中的data信息是通过Django

  • 浅谈订单重构之 MySQL 分库分表实战篇

    目录 一.目标 二.环境准备 1.基本信息 2.数据库环境准备 3.建库 & 导入分表 三.配置&实践 1.pom文件 2.常量配置 3.yml 配置 4.分库分表策略 5.dao层编写 6.单元测试 四.总结 一.目标 本文将完成如下目标: 分表数量: 256    分库数量: 4 以用户ID(user_id) 为数据库分片Key 最后测试订单创建,更新,删除, 单订单号查询,根据user_id查询列表操作. 架构图: 表结构如下: CREATE TABLE `order_XXX` (

  • 浅谈oracle rac和分布式数据库的区别

    1.分布式数据库是多个数据库,而rac只是一个库多个实例: 2.rac事务上没有协调的问题,而分布式数据库由于是多个库需要事务上的协调: 3.分布式数据库数据是分散存储在各个节点,但是设备一般都是廉价的设备,经常出现节点故障,不过对用户来说是透明的:.RAC是ORACLE集群,数据是共享存储,只有一份,每个节点都不存放数据.节点可以宕,但是数据不会丢失: 4.分布式数据库支持的节点多,增加节点基本为线性增加:rac支持的节点数少,增加节点性能不是线性增加: 5.Oracle最大的问题在于shar

  • 浅谈python字符串方法的简单使用

    学习python字符串方法的使用,对书中列举的每种方法都做一个试用,将结果记录,方便以后查询. (1) s.capitalize() ;功能:返回字符串的的副本,并将首字母大写.使用如下: >>> s = 'wwwwww' >>> scap = s.capitalize() >>> scap 'Wwwwww' (2)s.center(width,char); 功能:返回将s字符串放在中间的一个长度为width的字符串,默认其他部分用空格填充,否则使用c

  • 浅谈String.valueOf()方法的使用

    前面的话 关于类型转换,对象常见的两个方法是toString()和valueOf().实际上,这两个方法也可以应用在包装类型上.前面已经介绍过toString()方法,本文将介绍valueOf()方法,该方法返回原值 [1]undefined和null没有valueOf()方法 undefined.valueOf();//错误 null.valueOf();//错误 [2]布尔型数据true和false返回原值 true.valueOf();//true typeof true.valueOf(

  • 浅谈JavaScript find 方法不支持IE的问题

    最近在前端开发中,遇到一个JavaScript 的问题. <script type="text/javascript"> var arrayList = new Array(); arrayList.push(1); arrayList.push(2); arrayList.push(3); arrayList.push(4); arrayList.find(function (val) { if (val == 4) { console.log('This is a te

  • 浅谈使用setBounds()方法需要注意的地方

    第一点,使用这个方法,component的x,y坐标是相对于它的父容器的.如果不注意,x.y的值,比父容器的宽度和高度还大的话,就容易造成加进去组件但是显示不出来的问题.我就是遇到这么一个问题,现在才想明白. 第二点,这个方法只有在父容器的布局方式为绝对布局时才管用,如果是别的布局方式,调用这个方法是没有效果的,只有采用setPreferredSize这个方法才管用.不同的布局方式有不同的设置方法. 以上这篇浅谈使用setBounds()方法需要注意的地方就是小编分享给大家的全部内容了,希望能给

  • 浅谈Java中方法参数传递的问题

    可以理解当我们要调用一个方法时,我们会把指定的数值,传递给方法中的参数,这样方法中的参数就拥有了这个指定的值,可以使用该值,在方法中运算了.这种传递方式,我们称为参数传递.在这里,定义方法时,参数列表中的变量,我们称为形式参数. 调用方法时,传入给方法的数值,我们称为实际参数 在Java中调用方法时,如果参数是基本类型(byte/short/int/long/float/double/char/boolean)以及String类型时,形式参数的改变不影响实际参数. 以下代码在内存中发生的动作:

  • 浅谈jquery高级方法描述与应用

    1.addBack() a. third-item的 li 下几个相邻节点(包括third-item) $( "li.third-item" ).nextAll().addBack(). .css( "background-color", "red" ); b. 和end()方法类似,选中的是div.after-addback和p元素,end选中的是div.after-addback元素 $( "div.after-addback&qu

随机推荐