首 页
关于方维
网站案例
网站建设
小程序开发
解决方案
建站资讯
联系方维
400-800-9385
如何快速恢复Mysql数据库中表类型为InnoDB的表结构和数据
发表日期:2019-07-17 10:46:00 作者来源:方维网络 浏览:4232 标签:
数据库设计
当前位置:
首页
-
建站资讯
-
网站建设
作为一个PHP的程序员,用了好多年的mysql数据库,一般的数据表我们要么用InnoDB的表类型(Engine)或MyISAM的表类型居多。在创建数据库表的时候,默认是使用的表类型是InnoDB的,当时也没太在意,反正不影响数据库的使用,今天我们不讲InnoDB和MyISAM的区别(在使用事务时,需要用到InnoDB表类型之类的),而是讲下这两种数据表的如何备份。
一般备份数据库最简单的方法就是使用phpmyadmin网页来导出保存为sql文件数据库或Navicat使用软件将所有的数据表全选后另存为sql文件。除了两种方法外,还能通过备份msyql安装目录里的data文件夹里的数据库文件来备份数据库,data路径如下图所示:
如果是表类型为MyISAM的数据库则非常简单,只需要将数据表文件夹(如上图所示的”xianda”)复制到data的目录里就可以使用这个数据库了。现在重点讲下如何快速恢复表类型为InnoDB的数据库,根据我的经验而言(可能还有其他的办法),想要恢复InnoDB的数据库有一个必要条件,那就是你必须同时备份了上图所示的ibdata1的文件,否则将无法备份InnoDB数据表。例如上图里的”sgccmindb”就是innoDB的数据库,首先关闭mysql service,然后同时复制数据库文件夹和ibdata1到data目录里,如果data有其他数据库,请先备份,否则ibdata1文件替换原先的ibdata1文件后,原先的数据库可能会无法使用,特别是表类型innoDB的数据库肯定无法使用。
以前遇到的问题:只复制数据库,并没有复制ibdata1文件,造成的情况如下图所示:
从navicat软件里可以查看到数据表的数据长度为0KB,并且表结构也是无法保存,如果双击打开数据表,会弹出错误如下图所示:
即提示这个表是不存在的,从上面的两个提示可以推断,innoDB的数据库是把所有的数据都保存在ibdata1文件了,而MyISAM的数据库则直接把数据保存在表文件里的。
总结:如果使用表类型为innoDB的数据库,在备份表文件的同时,必须把对应的ibdata1文件也备份了,不过还是建议备份sql文
如没特殊注明,文章均为方维网络原创,转载请注明来自https://www.szfangwei.cn/news/5156.html
上一篇:
用js做鼠标拖动进度条实现显示多张缩略图
下一篇:
网站提升用户留存度一个经典设计:任务模式
相关网站设计案例
医疗器械创新网
明鉴检测
网度通信
相关资讯
网站开发中如何使用mysql慢查询来优化数...
日期:2025-03-29 浏览:406
用宝塔如何实现网站和数据库的定时每日备份
日期:2024-12-12 浏览:1941
探秘达梦数据库:国产力量的崛起与数...
日期:2024-06-14 浏览:1121
常见问题
企业网站建设常见问题整理合集【置顶】
在深圳建设一个公司网站多少钱
开发网站需要多久跟这九个因素有关
最新文章
品牌型网站与展示型网站的区别...
浏览量:4414
网站设计师必收藏的网站
浏览量:3919
网站前端制作之swiper拖拽左右滑...
浏览量:6122
浅谈同辰建筑设计咨询公司网站改版的见解
浏览量:4108
三爱CBD网站的设计理念
浏览量:4169
网站建设之php+jquery无刷新数据分页...
浏览量:3774
400-800-9385
回到顶部
0
请您留言
非常抱歉,客服不在线,麻烦留下您的联系电话或者微信,我们看到后会马上联系您!
提交
感谢留言
我们会尽快与您联系
关闭