mysqldump命令 数据库的还原备份操作。

mysqldump命令——MySQL数据库备份还原

最近这两天,因为之前设计的时候没有注意到有的表是要建在另外一台服务器上面的(测试服务器数据库是分布式的,不同的表可能在不同服务器上)。现在里面已经有很多测试数据了,又不想重新添加一遍。所以就想能不能备份出来,再恢复到目标机器上去。然后昨天
id="cproIframe_u1284777_3" height="280" marginheight="0" src="http://pos.baidu.com/acom?adn=3&at=134&aurl=&cad=0&ccd=32&cec=gb2312&cfv=17&ch=0&col=zh-cn&conOP=0&cpa=1&dai=3&dis=0&layout_filter=rank%2Ctabcloud&ltr=http%3A%2F%2Fwww.baidu.com%2Flink%3Furl%3DJ3GnvpfKj9NN8PKxz1jq8Yc-4JrC5Dp0voglefW2EVZrKM72IItfk0KtyfIUelLh8Bqfn9kexeAXfyzAt_-_0gZtJNCR9fPdB86awhxyZXW%26wd%3D%26eqid%3D912545c0000068aa000000035572625a&ltu=http%3A%2F%2Fwww.dedecms.com%2Fknowledge%2Fdata-base%2Fmysql%2F2012%2F0819%2F7875.html&lunum=6&n=81009016_cpr&pcs=996x561&pis=10000x10000&ps=526x946&psr=1366x768&pss=996x1606&qn=621ca73aa1214f38&rad=&rsi0=336&rsi1=280&rsi5=4&rss0=%23FFFFFF&rss1=%23FFFFFF&rss2=%230000FF&rss3=%23444444&rss4=%23008000&rss5=&rss6=%23e10900&rss7=%23ffffff&scale=&skin=&td_id=1284777&tn=text_default_336_280&tpr=1433559405195&ts=1&version=2.0&xuanting=0&dtm=BAIDU_DUP2_SETJSONADSLOT&dc=2&di=u1284777&ti=mysqldump%E5%91%BD%E4%BB%A4%E2%80%94%E2%80%94MySQL%E6%95%B0%E6%8D%AE%E5%BA%93%E5%A4%87%E4%BB%BD%E8%BF%98%E5%8E%9F_%E7%BB%87%E6%A2%A6CMS&tt=1433559405142.592.632.635" frameborder="0" width="336" allowtransparency="" marginwidth="0" scrolling="no" align="center,center" _xhe_src="http://pos.baidu.com/acom?adn=3&at=134&aurl=&cad=0&ccd=32&cec=gb2312&cfv=17&ch=0&col=zh-cn&conOP=0&cpa=1&dai=3&dis=0&layout_filter=rank%2Ctabcloud&ltr=http%3A%2F%2Fwww.baidu.com%2Flink%3Furl%3DJ3GnvpfKj9NN8PKxz1jq8Yc-4JrC5Dp0voglefW2EVZrKM72IItfk0KtyfIUelLh8Bqfn9kexeAXfyzAt_-_0gZtJNCR9fPdB86awhxyZXW%26wd%3D%26eqid%3D912545c0000068aa000000035572625a&ltu=http%3A%2F%2Fwww.dedecms.com%2Fknowledge%2Fdata-base%2Fmysql%2F2012%2F0819%2F7875.html&lunum=6&n=81009016_cpr&pcs=996x561&pis=10000x10000&ps=526x946&psr=1366x768&pss=996x1606&qn=621ca73aa1214f38&rad=&rsi0=336&rsi1=280&rsi5=4&rss0=%23FFFFFF&rss1=%23FFFFFF&rss2=%230000FF&rss3=%23444444&rss4=%23008000&rss5=&rss6=%23e10900&rss7=%23ffffff&scale=&skin=&td_id=1284777&tn=text_default_336_280&tpr=1433559405195&ts=1&version=2.0&xuanting=0&dtm=BAIDU_DUP2_SETJSONADSLOT&dc=2&di=u1284777&ti=mysqldump%E5%91%BD%E4%BB%A4%E2%80%94%E2%80%94MySQL%E6%95%B0%E6%8D%AE%E5%BA%93%E5%A4%87%E4%BB%BD%E8%BF%98%E5%8E%9F_%E7%BB%87%E6%A2%A6CMS&tt=1433559405142.592.632.635">

最近这两天,因为之前设计的时候没有注意到有的表是要建在另外一台服务器上面的(测试服务器数据库是分布式的,不同的表可能在不同服务器上)。现在里面已经有很多测试数据了,又不想重新添加一遍。所以就想能不能备份出来,再恢复到目标机器上去。然后昨天的话就折腾了一下,请教同事,上网查资料。这里把用法记录一下。
dump命令:MySQL数据库备份还原
 
一、常用操作:
备份整个数据库
格式:
mysqldump -h主机名  -P端口 -u用户名 -p密码 (–database) 数据库名 > 文件名.sql
mysqldump -h{hostname} -P{port} -u{username} -p{password} {databasename} > {backupfile.sql}
例如: 
代码如下:
1
mysqldump -hlocalhost -P3306 -uzhuchao -p123456 db_test > backfile1.sql
备份MySQL数据库为带删除表的格式
备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。
格式:mysqldump -–add-drop-table -u{username} -p{password} {databasename} > {backfile.sql}
例如:
 
代码如下:
1
mysqldump -–add-drop-table –uzhuchao -p123456 db_test > backfile2.sql
直接将MySQL数据库压缩备份
格式:mysqldump -h{hostname} -u{username} -p{password} {databasename} | gzip > {backfile.sql.gz}
例如:
 
代码如下:
1
mysqldump –hlocalhost –uzhuchao –p123456 db_test1 | gzip > backfile3.sql.gz
备份MySQL数据库某个(些)表
格式:mysqldump -h主机名  -P端口 -u用户名 -p密码 (–tables | –quick) 数据库名 表名1 (表名2 …) > 文件名.sql (括号中的可缺省)。
mysqldump -h{hostname} (-P{port}) -u{user} -p{password} (–tables | –quick) {databasename} {table1} {table2} > {backfile.sql}
例如:
 
代码如下:
1
2
3
4
mysqldump -hlocalhost -uzhuchao -p123456 db_test tbl_test > backfile4-1.sql
mysqldump -hlocalhost -P3306 -uzhuchao -p123456 db_test tbl_test > backfile4-2.sql
mysqldump -hlocalhost -P3306 -uzhuchao -p123456 --quick db_test tbl_test > backfile4-3.sql
mysqldump -hlocalhost -P3306 -uzhuchao -p123456 --tables db_test tbl_test1 tbl_test2 > backfile4-4.sql
同时备份多个MySQL数据库
格式:mysqldump -h{hostname} (-P{port}) -u{username} -p{password} –databases {databasename1} {databasename2} {databasename3} > multibackfile.sql
例如:
 
代码如下:
1
mysqldump -hlocalhost -uzhuchao -p123456 –databases db_test1 db_test2 db_test3 > multibackfile.sql
仅仅备份数据库结构
格式:mysqldump –no-data –databases {databasename1} {databasename2} > {structurebackfile.sql}
例如:
 
代码如下:
1
mysqldump –no-data –databases db_test1 db_test2 > structurebackfile.sql
备份服务器上所有数据库
格式:mysqldump –all-databases > allbackupfile.sql
 
========================================================================
 
还原MySQL数据库的命令
格式:mysql -h{hostname} -u{username} -p{password} {databasename} < {backfile.sql}
例如:
 
代码如下:
1
mysql -hlocalhost -uroot -p123456 db_test4 < back_file1.sql
还原压缩的MySQL数据库
格式:gunzip < {backfile.sql.gz} | mysql –u{username} –p{password} {databasename}
例如:
 
代码如下:
1
gunzip < backfile.sql.gz | mysql –uzhuchao –p123456 db_test5
将数据库转移到新服务器
mysqldump –u{username} –p{password} {databasename} | mysql –host=*.*.*.* –C {databasename}
 
二、其他:
1、如果端口为默认的3306时,可省略 -P {端口号} 这一项。
 
2、命令行格式中 { } 中的内容都是变量
主机名 : {hostname}
端   口:{port}    (一般默认3306,可缺省)
用户名:{user} {username} (如root)
密   码:{password}
数据库名 :{databasename}
表   名:{table}  {table1}  {table2}
文件名:{backfile.sql}

作者“石头博客”

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值