注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

天朝布衣田中码农参上

苦逼码农的点点滴滴,请多多指教!

 
 
 

日志

 
 
 
 

Mysql数据库备份迁移  

2017-01-01 09:02:27|  分类: 服务器 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
使用Mysql的朋友应该都知道,如果有备份或恢复的需要,可以使用select...into outfile与load data infile导入导出数据,也可以使用Mysql自带的mysqldump与mysql,mysqlimport命令进行处理。下面就来简要说下备份迁移使用方法:
1)用mysqldump导出全库可执行的SQL脚本

mysqldump -u root -p 123456 test >bak.sql

最终输出的是一个可执行的SQL脚本文件,当然如果不加>bak.sql就会直接输出到屏幕上。
Mysql数据库备份迁移 - sinsunson - 天朝布衣田中码农参上
2)用mysql将这个导出的可执行SQL脚本恢复到数据,请使用如下指令:

mysql -u root -p 123456 <bak.sql

3)mysqldump导出全库[加--tab=path选项,下例不设路径会生成在当前目录]:

mysqldump -u root -p 123456 test --tab

这样每个表会生成两个文件,一个sql,一个txt。
4)还是用mysql执行sql文件,再使用mysqlimport导入相关的表数据[这里假设数据文件为data.txt]。

mysqlimport -u root -p test --replace F:\data.txt

请注意,为了排除重复值,这里使用了--replace选项时,如果数据文件与表中有主键冲突,会用数据文件中的行替换表中已有的,或者如果不需要替换那就加--ignore,或者使用-d参数在将数据导入之前将原有的库先清空。
5)如果只是想备份某些表数据,而不用全库,那么就使用select...into outfile语句:

mysql -u root -p -e "use test;select * from test into outfile 'd:\data.txt'"

这里的sql语句可以调整,自行选定要备份的数据范围。
6)将如上相关的备份还原:

mysql -u root -p -e "use test;load data infile 'd:\data.txt' INTO TABLE test"

这里要注意下,如果不先清表【在use test;之后加入truncate table `test`;】,那么就要注意表主键重复导致导入失败的问题。
 
  评论这张
 
阅读(4)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017