mysql 直接从date 文件夹备份表,还原数据库之后提示 table doesn`t exist的原因和解决方法

转载 2015年07月07日 13:53:04

如类型是MyISAM, 数据文件则以”Table.frm””Table.MYD””Table.MYI””三个文件存储于”/data/$databasename/”目录中.
如类型是InnoDB, 数据文件则存储在”$innodb_data_home_dir/″中的ibdata1文件中(一般情况),结构文件存在于table_name.frm中.
MySQL的数据库文件直接复制便可以使用,但是那是指“MyISAM”类型的表。
而使用MySQL-Front直接创建表,默认是“InnoDB”类型,这种类型的一个表在磁盘上只对应一个“*.frm”文件,不像MyISAM那样还“*.MYD,*.MYI”文件。


MyISAM类型的表直接拷到另一个数据库就可以直接使用,但是InnoDB类型的表却不行。解决方法就是:

同时拷贝innodb数据库表“*.frm”文件和innodb数据“ibdata1”文件到合适的位置。启动MySQL的Windows服务
由于MySQL这样数据混杂的形式, 往往很容易让使用者在备份时忘记了备份InnoDB, 从而导致了上述错误.

意思就是说在数据库引擎类型InnoDB时拷贝数据文件的同时还需要拷贝ibdata1,于是把ibdata1也拷贝过去覆盖,发现还是有点问题,于是停止mysql服务,将目录下的ib_logfile*文件全部删除掉,重新启动mysql服务,well done,可以了

高兴啊,于是稍微总结了,希望以后遇到相同的问题,能够快速解决。

1,在进行mysql数据库备份的或迁移的时候,尽量备份完成所需要的数据;

2,如果直接拷贝原有数据库文件"*.frm"、"*.MYD"、"*.MYI"等文件时候,如果原数据库引擎是InnoDB,切记还需拷贝ibdata1文件

3,备份数据库的时候,最好是用相关的工具进行备份或是导出sql文件,以免浪费时间在数据库恢复上

4,msyql版本或是备份工具的版本不同,也可能引起数据恢复有问题。

实践证明以上问题是存在的,解决方案是可行的,哈哈,为了以后方便,写了这篇博客随笔,希望大牛看到了不要鄙视,欢迎拍砖。

 

 

 

1:MyISAM类型的数据文件可以在不同操作系统中COPY,这点很重要,布署的时候方便点。(只需要拷贝 数据库名字文件夹下面的文件,这样数据库就拷贝完了)

2:  InnoDB类型的 要注意多拷贝 ibdata1 , 最好不要是直接复制文件夹,而是应该用sql导入导出


xtrabackup恢复mysql后提示表不存在处理

一.基本信息 生产环境mysql版本:mariadb 10.0.20   备份xtrabackup版本:xtrabackup 2.2.9 或 2.4.4 测试恢复环境mysql版本:mariad...

mysql新建表时提示Table 'db.table' doesn't exist解决方法

原因: 以表”Table”为例: 如类型是MyISAM, 数据文件则以”Table.frm””Table.MYD””Table.MYI””三个文件存储于”/data/$databasename/”...

Grok Debugger本地安装过程

Grok Debugger本地安装过程 标签:elk grokdebugger grok 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责...

Linux企业级项目实践之网络爬虫(27)——多路IO复用

与多线程和多进程相比,I/O多路复用的最大优势是系统开销小,系统不需要建立新的进程或者线程,也不必维护这些线程和进程。主要应用:(1)客户程序需要同时处理交互式的输入和服务器之间的网络连接(2)客户端...

装完mysql启动报错:“Table ‘mysql.plugin’ doesn’t exist” 解决方法

装完mysql后启动mysql发现启动不了,错误日志里面会提示Table ‘mysql.plugin’ doesn’t exist,出现此错误的原因有两种。 一种是装完mysql之后没有运行初始...
  • lcathm
  • lcathm
  • 2015年12月15日 14:03
  • 8022

windows7启动MySql报错Table 'mysql.plugin' doesn't exist的解决方法

windows7 64位,安装mysql5.5.27_win64,自定义安装到D:/database/mysql,在初始化最后一步,写配置文件时总是“未响应”。结束进程,手工创建my.ini文件 ...
  • ddl007
  • ddl007
  • 2012年09月27日 18:41
  • 11427

[MySQL][ODBC 3.51 Driver][mysqld-5.5.37-log]Table 'ldk2.T_User' doesn't exist问题解决

笔者最近在做网站测试的时候遇到一个问题。在首页登录进去之后无法正确跳转到主页,而是报了数据库错误。 报错的内容如下: Table找不到。 经过检查,服务器上的mysql配置正常,mys...

数据库备份/还原 后DedeCms系统配置参数出限空白解决方法

转载自: http://bbs.dedecms.com/176005.html 一、问题描述 在把本地安装并加入内容完成的dedeCMS搬家到空间时(参考文章dedecms本地搬家到空间>>),进...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:mysql 直接从date 文件夹备份表,还原数据库之后提示 table doesn`t exist的原因和解决方法
举报原因:
原因补充:

(最多只允许输入30个字)