MySQL社区

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
查看: 17518|回复: 17

[mysqldump] mysqldump备份恢复大全-kider

[复制链接]
发表于 2007-9-3 16:58:27 | 显示全部楼层 |阅读模式
作者及整理: kider , 出处:mysqlpub.com ,更新:20151019
http://www.mysqlpub.com/thread-195-1-1.html ,转载请注明。

本文整理了目前互联网上关于mysqldump的一些零散帖子,分备份简述、参数大全、恢复简述、例子演示四个部分全面解析mysqldump备份恢复。

备份说明
mysqldump实用程序,为MySQL自带的官方备份命令,使用简单且效率高,起到备份或为了把数据转移到其他服务器上的一个数据库或许多数据库中。转移将包含创建表或包含数据的SQL语句,形如:

[root@mysqlpub.com]# mysqldump
Usage: mysqldump [OPTIONS] database [tables]
OR     mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR     mysqldump [OPTIONS] --all-databases [OPTIONS]
For more options, use mysqldump --help

shell> mysqldump [OPTIONS] database [tables]

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

通过执行mysqldump --help,你能得到你mysqldump的版本支持的选项表。 附件是MySQL5.6的mysqldump help选项表及提示,供快速参考:


mysqldump help V10.13-5.6.26 (19.72 KB, 下载次数: 5329)
发表于 2007-10-2 00:11:49 | 显示全部楼层
多谢楼主,mysqldump基本懂了一点.在cmd里备份本地的数据库是比较简单.
执行命令,如:mysqldump -u root -p dataName >c:\qq.sql, 回车后,输入密码是可以在C盘备份dataName的数据库名了.
但问题需要延伸一下又该如何呢?
如:
1.我需要在程序里用shell方式调用mysqldump,又如何输入密码呢?有没有直接把密码也的格式也输进一句里呢?
2.像这句mysqldump -u root -p dataName >c:\qq.sql仅是备份本地的数据,如果我要备份网络上的数据库,
比如,IP:192.168.0.5,端口:8005,用户名:root,密码为:168,该如何写格式,我需要一句搞掂的,我是初学者,请不辞劳苦把整句包括完整的格式写给我吧.谢谢.
发表于 2007-10-2 00:50:45 | 显示全部楼层
不好意思,自己解决了,如下:
mysqldump -h192.168.0.5 -P 3306 -uroot -p168 --opt dataName >c:\qq.sql
不知道是否完全正确,请指正.
 楼主| 发表于 2007-10-3 00:39:01 | 显示全部楼层
发表于 2008-11-27 21:37:44 | 显示全部楼层
奇怪我试验了怎么就是不成功,能不能把细节讲更清楚点,或者举个例子
谢谢
发表于 2008-11-27 21:39:17 | 显示全部楼层
更mysql版本有关系吗
我的版本是5.0.15b的
发表于 2008-11-27 21:39:47 | 显示全部楼层
我急着知道,能有人快点告诉我们,谢谢
 楼主| 发表于 2008-11-28 10:29:17 | 显示全部楼层
有关系的,安装了不同的MySQL版本mysqldump 是不一样的,其功能也有些差异。

如:MySQL4.1中
[root@Server1 root]# mysqldump --version
mysqldump  Ver 10.8 Distrib 4.1.7, for pc-linux (i686)

如:MySQL5.0中
[root@Node01 bin]# mysqldump --version
mysqldump  Ver 10.10 Distrib 5.0.21, for pc-linux-gnu (i686)

其中MySQL5.0中就有
--ignore-table 选项

详细:  注意备份恢复时所用的mysqldump版本
发表于 2008-11-28 11:24:35 | 显示全部楼层
自己找了很多资料,还以为资料上有错误呢,原来是路径不正确,其实我的版本号是可以的。
终于自己找出原因了,但也花了不少时间,但很值得!
即在CMD命令行下,打入如下命令:
C:\Documents and Settings\Administrator>d:\phpnow\mysql-5.0.15b\bin\mysqldump.exe
-u root -p dataname >c:\shiyan.sql -- 这样才是成功的,可能跟我用的软件有关系,
我是用一键包的(phpnow)。
所以敢请板主能对你的教程再做详细的说明,就是mysqldump的路径问题,这样可以让更多的人少走弯路
也谢谢你的回答,这里是一个不错的学习地!!!
发表于 2008-11-28 11:25:14 | 显示全部楼层
UP UP UP UP UP UP UP UP !!!!!
 楼主| 发表于 2008-11-28 11:33:38 | 显示全部楼层
当然了,你的回复就是对上面最好的补充
 楼主| 发表于 2009-2-20 15:21:41 | 显示全部楼层
备份数据库中的表结构到当前目录下,并形成单表单文件:
mysqldump -uroot -p --opt -d -T ./ DBNAME
发表于 2013-3-15 10:42:07 | 显示全部楼层
咨询下我执行mysqldump database 之后,没有指定目录,我现在想知道备份的数据库存储在哪里目录下。
发表于 2015-11-9 16:18:22 | 显示全部楼层

老师,
OSnameinux
我想全量做备份,但是重提示这句。
我输入的备份命令如下:
[root@iZ231h8fzr8Z ~]# mysqldump -all -database >/usr/share/man/man8/db_backup_test_20151109.sql
mysqldump: unknown option '-b'


我用#cd /usr/share/man/man8
#ls查询过文件是生成了,但是不确定是否有内容。


发表于 2015-11-9 16:26:10 | 显示全部楼层
Aaronlao 发表于 2015-11-9 16:18
老师,
OSnameinux
我想全量做备份,但是重提示这句。

补充校验文件的结果:

[root@iZ231h8fzr8Z man8]# ll *.sql
-rw-r--r-- 1 root root 0 Nov  9 15:48 db_backup_20151109.sql
-rw-r--r-- 1 root root 0 Nov  9 14:52 db_backup_.2015-11-9.sql
-rw-r--r-- 1 root root 0 Nov  9 14:46 db_backup2015-11-9.sql
-rw-r--r-- 1 root root 0 Nov  9 16:13 db_backup_test_20151109.sql


您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|申请友链|小黑屋|Archiver|手机版|MySQL社区 ( 京ICP备07012489号   
联系人:周先生; 联系电话:17896003451

GMT+8, 2017-7-26 22:44 , Processed in 0.269471 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表