mysql之mysqldump命令

导出要用到MySQL的mysqldump工具,基本用法是:

shell> mysqldump [OPTIONS] database [tables]

如果你不给定任何表,整个数据库将被导出。

通过执行mysqldump --help,你能得到你mysqldump的版本支持的选项表。

 

注意,如果你运行mysqldump没有--quick或--opt选项,mysqldump将在导出结果前装载整个结果集到内存中,如果你正在导出一个大的数据库,这将可能是一个问题。

 

mysqldump支持下列选项:

 

--add-locks [导出时加锁]
在每个表导出之前增加LOCK TABLES并且之后UNLOCK TABLE。(为了使得更快地插入到MySQL)。

这个选项会在INSERT语句中捆上一个LOCK TABLE和UNLOCK TABLE语句。这就防止在这些记录被再次导入数据库时其他用户对表进行的操作


--add-drop-table []
在每个create语句之前增加一个drop table。 【这里是在备份数据时同时也把建表语句也备份出去了,那么用这个参数就可以在建表语句的前面添加:DROP TABLE IF EXISTS `表名`;所以这个参数不要和-t参数搭配用】


--allow-keywords
允许创建是关键词的列名字。这由表名前缀于每个列名做到。

 

-c, --complete-insert
使用完整的insert语句(用列名字)。


-C, --compress
如果客户和服务器均支持压缩,压缩两者间所有的信息。


--delayed
用INSERT DELAYED命令插入行。


-e, --extended-insert
使用全新多行INSERT语法。(给出更紧缩并且更快的插入语句)


-#, --debug[=option_string]
跟踪程序的使用(为了调试)。


--help
显示一条帮助消息并且退出。
--fields-terminated-by=...
 
--fields-enclosed-by=...
 
--fields-optionally-enclosed-by=...
 
--fields-escaped-by=...
 
--fields-terminated-by=...
这些选择与-T选择一起使用,并且有相应的LOAD DATA INFILE子句相同的含义。
LOAD DATA INFILE语法。


-F, --flush-logs
在开始导出前,洗掉在MySQL服务器中的日志文件。
-f, --force,
即使我们在一个表导出期间得到一个SQL错误,继续
-h, --host=..
从命名的主机上的MySQL服务器导出数据。缺省主机是localhost。


-l, --lock-tables. [和--add-locks 是一样的]
为开始导出锁定所有表。


-t, --no-create-info 【在导出数据时,不把建表语句导出】
不写入表创建信息(CREATE TABLE语句)

这个选项使的mysqldump命令不创建CREATE TABLE语句,这个选项在您只需要数据而不需要DDL(数据库定义语句)时很方便。


-d, --no-data 【只导出表结构,不导出数据】
不写入表的任何行信息。如果你只想得到一个表的结构的导出,这是很有用的!


--opt 【推荐】
同--quick --add-drop-table --add-locks --extended-insert --lock-tables。
应该给你为读入一个MySQL服务器的尽可能最快的导出。

此选项将打开所有会提高文件导出速度和创造一个可以更快导入的文件的选项。(个人推荐
如果没有使用--opt,MYSQLDUMP就会把整个结果集装载到内存中,然后导出。如果数据非常大就会导致导出失败。这个开关在默认情况下是启用的,如果不想启用它:--skip-opt来关闭它。)


-pyour_pass, --password[=your_pass]
与服务器连接时使用的口令。如果你不指定“=your_pass”部分,mysqldump需要来自终端的口令。


-P port_num, --port=port_num (大写P为端口,小写p为密码)
与一台主机连接时使用的TCP/IP端口号。(这用于连接到localhost以外的主机,因为它使用 Unix套接字。)


-q, --quick
不缓冲查询,直接导出至stdout;使用mysql_use_result()做它。

这个选项使得MySQL不会把整个导出的内容读入内存再执行导出,而是在读到的时候就写入导文件中。


-S /path/to/socket, --socket=/path/to/socket
与localhost连接时(它是缺省主机)使用的套接字文件。


-T, --tab=path-to-some-directory
对于每个给定的表,创建一个table_name.sql文件,它包含SQL CREATE 命令,和一个table_name.txt文件,它包含数据。 注意:这只有在mysqldump运行在mysqld守护进程运行的同一台机器上的时候才工作。.txt文件的格式根据--fields-xxx和--lines--xxx选项来定。


-u user_name, --user=user_name
与服务器连接时,MySQL使用的用户名。缺省值是你的Unix登录名。
-O var=option, --set-variable var=option设置一个变量的值。可能的变量被列在下面。
-v, --verbose
冗长模式。打印出程序所做的更多的信息。
-V, --version
打印版本信息并且退出。


-w, --where='where-condition' 【按照条件备份,这里是所选记录必须满足的条件】
只导出被选择了的记录;注意引号是强制的!
-w "biz_type>2 and biz<6"

 

最常见的mysqldump使用可能制作整个数据库的一个备份:

mysqldump --opt database > backup-file.sql

但是它对用来自于一个数据库的信息充实另外一个MySQL数据库也是有用的:

mysqldump --opt database | mysql --host=remote-host -C database

由于mysqldump导出的是完整的SQL语句,所以用mysql客户程序很容易就能把数据导入了:

shell> mysqladmin create target_db_name
shell> mysql target_db_name < backup-file.sql
就是
shell> mysql 库名 < 文件名

 

-------------------------------------------------------------

【实例应用】:

1.导出整个数据库
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
mysqldump -uroot -p12345 adc> c:\adc.sql


2.导出一个表
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
mysqldump -uroot -p12345 adc bfp_corp> c:\bfp_corp.sql


3.导出一个数据库结构
mysqldump -uroot -p12345 -d --add-drop-table smgp_apps_wcnc >d:\wcnc_db.sql

-d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table

 

4.导入数据库
常用source 命令
进入mysql数据库控制台,
如 mysqldump -uroot -p12345 adc

然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
mysql>source d:\bfp_corp.sql

 

5、备份给定时间段内的数据库数据

Mysqldump -h 192.168.21.45 -P 3306 -uroot -pcanada --opt adc bfp_adc_biz_stat

-w "biz_date<='2010-07-30 02:45:21' and biz_date>='2010-07-30 02:41:59'" > c:\3.sql

转载于:https://www.cnblogs.com/youlechang123/archive/2013/06/06/3120363.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/295398.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

易企秀制作的步骤

2019独角兽企业重金招聘Python工程师标准>>> 1、选图很关键 &#xff08;图片干净 整洁&#xff0c;不同方位展示 &#xff0c;符合主题&#xff09;。 2、配上说明性文字 简明扼要 3、选择合适的模板和背景音乐。 4、及时沟通与调整。 转载于:https://my.oschina.n…

java instanceof运算符_Java instanceof 运算符的使用方法

用法&#xff1a;(类型变量 instanceof 类|接口)作用&#xff1a;instanceof 操作符用于判断前面的对象是否是后面的类&#xff0c;或者其子类、实现类的实例。如果是则返回true 否则就返回false。注意&#xff1a; instanceof前面的操作数的编译时类型要么与后面的类相同&…

C# WPF MVVM模式Prism框架下事件发布与订阅

01—前言处理同模块不同窗体之间的通信和不同模块之间不同窗体的通信&#xff0c;Prism提供了一种事件机制&#xff0c;可以在应用程序中低耦合的模块之间进行通信&#xff0c;该机制基于事件聚合器服务&#xff0c;允许发布者和订阅者之间通过事件进行通讯&#xff0c;且彼此之…

这几部高分学科纪录片,助力孩子涨姿势拓视野~

全世界只有3.14 % 的人关注了爆炸吧知识▌导读本文为同学们整理了几部高分经典学科纪录片&#xff0c;对应文学、数学、经济学、地理、化学。这不仅是课堂学习的补充与延伸&#xff0c;更是开拓视野、激发学习内驱力的绝佳利器。建议收藏&#xff01;&#xff08;关注视频号少年…

Linux 学习_在Linux下面安装tomcat

要在linux下面安装tomcat&#xff0c;首先我们需要做一些准备工作.... 下载tomcat&#xff1a; 下载地址&#xff1a;http://tomcat.apache.org/download-60.cgi 下载&#xff1a;tar.gz 如图&#xff1a; 说明&#xff1a; WinISO安装版&#xff1a;下载地址&#xff1a;http…

Codeforces 474C Captain Marmot 给定4个点和各自旋转中心 问旋转成正方形的次数

题目链接&#xff1a;点击打开链接 题意&#xff1a; 给定T表示case数 以下4行是一个case 每行2个点&#xff0c;u v 每次u能够绕着v逆时针转90 问最少操作多少次使得4个u构成一个正方形。 思路&#xff1a; 枚举判可行 #include <iostream> #include <cmath> #inc…

穷竭搜索

/**穷竭搜索是将所有的可能性罗列出来&#xff0c;在其中找到答案的方法&#xff0c;这里我们主要介绍深度优先搜索和广度优先搜索* author Think**/ public class 穷竭搜索 {public static void main(String[] args) {}//计算阶层 n&#xff01;n*(n-1)&#xff01;public sta…

JQUERY插件学习之jQuery UI

jQuery UI:http://jqueryui.com/ jQuery UI介绍: jQuery UI 是以 jQuery 为基础的开源 JavaScript 网页用户界面代码库。包含底层用户交互、动画、特效和可更换主题的可视控件。我们可以直接用它来构建具有很好交互性的web应用程序。所有插件测试能兼容 IE 6.0, Firefox 3, Saf…

java 数组拼接字符串_如何在java里java字符串数组合并成一个数组?

展开全部java里java字符串数组合并成一个数组方法如下&#xff1a;//方法一 Arrays类String[] a {"A","B","C"};String[] b {"D","E"};// List list Arrays.asList(a); --OK// List list Arrays.asList("A",…

如何通过 C# 判断某个 IP 是否属于某IP段?

咨询区 Ricky&#xff1a;如果判断某一个IP (172.16.11.50) 是否落在某一个 IP 段内&#xff1f;比如这样的段&#xff1a;172.16.11.5 - 100&#xff0c;另外不知道 C# 中是否有现成的轮子可以做这件事 ?回答区 BuddhiP&#xff1a;可以考虑使用 jsakamoto 大佬写的工具包&am…

百度2012校招笔试题之全排列与组合

算法题目&#xff1a; 求一个全排列函数&#xff1a; 如p([1,2,3])输出&#xff1a;[123],[132],[213],[231],[321],[323]. 思路&#xff1a;采用字典序的排序的方法 代码实现&#xff1a; void swap(char *a,char *b) {char temp;temp*a;*a*b;*btemp; }void reverse(char *di…

欧洲的小国家究竟有多袖珍?

全世界只有3.14 % 的人关注了爆炸吧知识你走遍祖国的每个角落了吗&#xff1f;相信绝大多数人的回答是“NO”但是如果你生活在很小的国家里&#xff0c;也许一根烟&#xff0c;或者一顿午餐的时间&#xff0c;你就可以从这个国家的一端走到另一端。下面就一起看看世界上最小的国…

蚂蚁算法

public class 蚂蚁算法 { /** * 有n个蚂蚁每秒速度在Lcm的杆子上爬行,蚂蚁到杆子端点就会掉下去,蚂蚁相遇,交错通过,只能各自反方向爬回去, * 对于每只蚂蚁我们知道它离杆子左端的距离是Xi,但是不知道它当时的朝向,请计算所有蚂蚁落下杆子所需要的最短时间和 * 最长时间 …

php 输出缓冲区清理

bool ob_end_flush ( void )这个函数将送出最顶层缓冲区的内容&#xff08;如果里边有内容的话&#xff09;&#xff0c;并关闭缓冲区。如果想进一步处理缓冲区中的内容&#xff0c;必须在 ob_end_flush()之前调用 ob_get_contents()&#xff0c;因为在调用 ob_end_flush()后缓…

企业文化和价值观

看标题&#xff0c;是个很大的范围&#xff0c;不过&#xff0c;在这里不打算详细展开的来说&#xff0c;简单说说吧。 价值观&#xff1a;客戶第一&#xff0c;協作&#xff0c;高效 A.客戶第一&#xff0c;客戶的利益優先&#xff0c;原因无需多解釋&#xff0c;没有客户&…

java ftp 判断目录存在_java判断ftp目录是否存在的方法

本文为大家分享了java判断ftp目录是否存在的方法&#xff0c;供大家参考&#xff0c;具体内容如下package com.soft4j.log4j;import java.io.IOException;import sun.net.ftp.FtpClient;public class FtpTest{static String middle_ftpServer "10.103.2.250";static…

让前端与后端异步起来

有时&#xff0c;后台处理批量数据&#xff0c;需要一定的时间&#xff0c;如果处理一部分往前台送一部分&#xff0c;用户体验要好一些&#xff0c;这样就用到这个知识点了。后台代码中下&#xff1a;[HttpGet("/getents")]public async IAsyncEnumerable<Entity…

六款小巧的HTTP Server[C语言] - 贵贵的博客 - 开发|架构|开源|共享

六款小巧的HTTP Server[C语言] - 贵贵的博客 - 开发|架构|开源|共享六款小巧的HTTP Server[C语言]keminar 发表于 2010-02-05 23:14:41. 发表在:开源软件1、micro_httpd - really small http server 特点&#xff1a; 支持安全的 .. 上级目录过滤 支持通用的MIME类型 …

那些年你追过的电影竟然登上顶刊封面! 盘点思路新奇的顶刊论文

全世界只有3.14 % 的人关注了爆炸吧知识来源 | 募格课堂科研&#xff0c;是一项严肃且要求一丝不苟的研究工作。但你可曾想过&#xff0c;那些年自己追过的像葫芦娃、孙悟空等充满中国风元素的影视作品&#xff0c;竟然被科研人作为idea&#xff0c;不仅有理有据地研究还发了顶…

【Linux学习009】脚本编程之变量、条件测试和条件判断

一、Bash环境变量bash中变量有四种种类型&#xff1a;环境变量、本地变量&#xff08;局部变量&#xff09;、位置变量、特殊变量。1.环境变量环境变量作用范围最广&#xff0c;所有子bash进程都能够访问环境变量中的值&#xff0c;定义环境变量的方法是使用export关键字。举例…