我使用phpMyAdmin->export创建我的数据库的备份,但我现在发现它没有导出整个数据库,一些表被遗漏/拒绝。
然而,在进行导出时,我还保存了位于mysql/data/的整个数据目录,其中包含许多.ibd和.frm文件类型,这似乎反映了我曾经拥有的表。
我试图复制整个数据目录并将其粘贴到我的新设置中,但我不确定MySQL / phpMyAdmin的版本是否相同,如何从旧数据目录中找到 MySQL 版本?可能在那些.frm / .ibd文件之一中?
当我粘贴整个数据文件夹时,数据库中的某些表正常工作,但有些表显示以下错误。
#1033 - Incorrect information in file: '.\db\a_table.frm'
Run Code Online (Sandbox Code Playgroud)
此外,似乎每个显示相同错误消息的表都在phpMyAdmin的Structure视图中的Collation下标记为正在使用
我能做些什么来解决这个问题?这是什么意思?
我想知道如果我重新创建我的旧操作系统设置,它可以工作吗?有没有更好的办法?
我设法找到了解决方法,但我对此并不满意。我安装了之前的EasyPHP设置,并将旧的MySQL *data* 目录复制到EasyPHP *MySQL* 数据目录中。
这次数据库能够正确读取.ibd / .frm文件。(即使这些文件根本没有改变)
然后我使用phpMyAdmin导出数据库(这次所有表/数据都存储在 sql 文件中)
然后我禁用EasyPHP环境并启动我的新环境,并使用phpMyAdmin->import和新的 sql 文件正确加载数据。
总的来说,我认为MySQL不能简单地输出某种类型的通知,指出.ini环境变量没有设置对应于.ibd / .frm文件,而不是仅仅输出不正确的信息,让用户蒙在鼓里。需要思考的角度。经过谷歌搜索后,似乎许多人似乎相信他们的数据已损坏,但事实并非如此。