备份MySQL数据库的命令,可以加选不同的参数选项来实现不同格式的要求。

mysqldump -h主机 -u用户名 -p密码 数据库名 > 文件

备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。

mysqldump -–add-drop-table -uusername -ppassword databasename > backupfile.sql

直接将MySQL数据库压缩备份

mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz

备份MySQL数据库某个(些)表

mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > backupfile.sql

同时备份多个MySQL数据库

mysqldump -hhostname -uusername -ppassword –databases databasename1 databasename2 databasename3 > multibackupfile.sql

仅仅备份数据库结构

mysqldump –no-data –databases databasename1 databasename2 databasename3 > structurebackupfile.sql

备份服务器上所有数据库

mysqldump –all-databases > allbackupfile.sql

还原MySQL数据库的命令

mysql -hhostname -uusername -ppassword databasename < backupfile.sql

还原压缩的MySQL数据库

gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename

将数据库转移到新服务器

mysqldump -uusername -ppassword databasename | mysql –host=*.*.*.* -C databasename

几个常用用例:

1.导出整个数据库

mysqldump -u 用户名 -p 数据库名 > 导出的文件名

mysqldump -u root -p dataname >dataname.sql

这个时候会提示要你输入root用户名的密码,输入密码后dataname数据库就成功备份在mysql/bin/目录中.

2.导出一个表

mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名

mysqldump -u root -p dataname users> dataname_users.sql

3.导出一个数据库结构

mysqldump -uroot -p -d –add-drop-table mydatabase >c:\backup.sql

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

4.导入数据库

常用source 命令

进入mysql数据库控制台,

如mysql -u root -p

mysql>use 数据库

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

mysql>source c:\backup.sql

mysqldump支持下列选项:

–add-locks

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

–add-drop-table

在每个create语句之前增加一个drop table。

–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.

为开始导出锁定所有表。

-t, –no-create-info

不写入表创建信息(CREATE TABLE语句)

-d, –no-data

不写入表的任何行信息。如果你只想得到一个表的结构的导出,这是很有用的!

–opt

同–quick –add-drop-table –add-locks –extended-insert –lock-tables。

应该给你为读入一个MySQL服务器的尽可能最快的导出。

-pyour_pass, –password[=your_pass]

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

-P port_num, –port=port_num

与一台主机连接时使用的TCP/IP端口号。(这用于连接到localhost以外的主机,因为它使用 Unix套接字。)

-q, –quick

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

-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"

只导出被选择了的记录;注意引号是强制的!

如:--where="id>10"

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

mysqldump –opt database > backup-file.sql

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

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

由于mysqldump导出的是完整的SQL语句,所以用mysql客户程序很容易把数据库导入恢复或移到另外机子上。

分享到:

2012-11-26 10:41

浏览 1028

分类:数据库

评论

mysql还原数据表的语句_MYSQL数据库常用备份及恢复语句相关推荐

  1. mysql数据库整体备份和恢复_MySQL 数据库的备份和恢复

    MySQL 数据库的备份和恢复 基本知识>>>>>>> 逻辑备份: 1.mysqldump(数据导出工具) mysqldump options db_name ...

  2. mysql查看数据表是否损坏_mysql 检查数据库是否损坏

    MySQL主从复制之主库宕机处理 主库宕机  Master DOWN机-企业场景一主多从宕机从库切换主继续和从同步过程详解 登陆从库,show processlist; 查看两个线程的更新状态: 查看 ...

  3. mysql 为数据表添加字段_MySQL数据表添加字段实例

    MySQL 允许在开头.中间和结尾处添加字段.针对不同的位置,MySQL数据表添加字段的方式也有所不同,下面我们一起来看MySQL数据表添加字段的实例,方便我们理解MySQL数据表添加字段的方式. M ...

  4. 删除mysql数据库中表abc语句_MySQL数据库常用命令大全

    我们经常用到的MySQL数据库常用命令 一.连接MySQL 格式: mysql -h主机地址 -u用户名 -p用户密码 1.例1:连接到本机上的MYSQL. 首先在打开DOS窗口,然后进入目录 mys ...

  5. mysql中数据表如何关联_mysql 如何导入/导出2个关联表中的数据

    mysql 怎么导入/导出2个关联表中的数据 表一 id student 1 S1 2 S2 表二 id sid scord order 1 1 100 1 2 1 60 2 3 1 80 3 4 2 ...

  6. mysql导入数据的格式转换_mysql数据库导入导出csv格式实现zblog转换帝国cms教程记录...

    这几天把一个网站由zblog换成帝国cms,假如成功更换,就基本上实现了所有的站都更换为帝国cms,其实zblog本身还是可以的,做小站很不错,至少比wp强很多,wp除了生态好,其它都不给力,用起来闹 ...

  7. mysql数据库常用备份、恢复命令

    转自:http://blog.csdn.net/bxbx258/article/details/2945832 还原一个数据库:mysql -h localhost -u root -p123456 ...

  8. mysql查询单表的销售额_MYsql数据库单表百万数据量查询

    最近总在意自己的网页刷新数据的速度,mysql5.7和mysql8.0单表数据库导入百万甚至千万数据的时候,会不会卡死,会不会慢? 因此编写测试用例,通过Navicat Premium来查询单表的时间 ...

  9. mysql 数据表 时间自动_MySQL数据库时间设置自动添加时间和自动更新时间

    MySQL字段中设置时间字段自动添加创建时间和自动更新时间设置, 设置字段类型为:timestamp 默认值设置为current_timestamp(), 更新时间字段字段类型为:timestamp ...

最新文章

  1. 计算机二级怎么更改报名密码忘记了怎么办,中考报名系统密码忘了怎么办
  2. 用户故事地图对应到Epic及其缺点
  3. Linux学习笔记05
  4. SAStruts リンク記述におけるs:linkとhtml:linkの比較
  5. ubuntu无线网络开关
  6. Mongodb定时备份脚本和清除脚本
  7. jsp java乱码转换_JSP中文乱码问题《转》
  8. 照片快照清除 android,如何在Android中删除和恢复照片
  9. Python-程序模块化
  10. Azkaban的编译与安装
  11. 001 vagrant安装box
  12. html语言怎么那么难用,js为什么那么难
  13. SONY索尼笔记本摄像头驱动汇总帖
  14. 银行卡所属银行的查询接口--阿里提供
  15. 涂抹果酱(状压dp)
  16. opta球员大数据预测胜负_大数据预测简介及使用流程
  17. 双击进入共享计算机时提示无法访问错误(连接共享打印机)
  18. 关于京东商城在宜宾开通货到付款的随想
  19. 「镁客·请讲」周全:想做世界上没有的、比较酷的东西
  20. Java并发编程的艺术(一)

热门文章

  1. Tomcat8调优核心实战详解
  2. Android的基础介绍
  3. 手机云顶之弈谷歌账号换服务器,云顶之弈手游谷歌账号怎么充值 云顶之弈手游谷歌账号充值流程一览...
  4. 渗透测试工具:主动信息收集Nmap
  5. fu811电子管参数_常用电子管参数
  6. Python3实现批量网址的http响应状态码检测
  7. 国际会计准则第16号--不动产、厂房和设备
  8. Nexus3首次登录默认密码
  9. 黑盒测试用例设计 - 等价类划分法
  10. java开发微信设计论文_java+mysql微信的烘焙公众号的设计与实现