之前由于数据库备份时只保存了mysql下的data文件下的数据库文件,当重新覆盖回去时innodb的表无法访问了,那个MYISAM类型的表还是可以正常访问的,怎么回事?数据库是同一个,所以不是版本问题。怎么解决?谁帮忙解决了我追加给他100分,绝不食言。现在我就只剩那个原来的data文件夹的数据了。还有就是在phpmyadmin中我的数据库显示是8张表,7张是innodb的、1张是MYISAM的,但是只显示了那个MYISAM。innodb的就不显示了。我新建一个原来的innodb的表有说表已经存在,用select语句有说Table 'mydb.article' doesn't exist。怎么解决?

解决方案 »

  1.   

    innodb 最好不要直接用 保存 data 文件夹 备份在 innodb 应该是比 MYISAM 多几个文件,看下在不在 ..
      

  2.   

    MyISAM的表文件由 *.frm, *.MYI, *.MYD  组成,所有只要有这些文件就行了。
    但 innoDB有表由 *.frm (表结构),表的数据在datadir 的 ibdata1文件中。 检查一下你的data 文件夹中是否有  ibdata1,ib_logfile0, ib_logfile1 等文件,如果有,则你可以放心了。至少数据还都在。
      

  3.   

    那ibdata1,ib_logfile0, ib_logfile1 文件里放着的是什么数据啊,数据不是放在data文件夹下的表文件夹下的吗?
      

  4.   

    ibdata1:INNODB表数据在这个文件里面
    其它两个是日志文件
      

  5.   


    ibdata1 是你的数据文件,表的数据,索引都在这个文件中,ib_logfile0, ,ib_logfile1是日志文件。
    innodb的数据不是放在数据库文件夹下。而是在datadir变量所指定的目录中。