从 myd myi 文件恢复 mysql 服务器 - windows
我有一个恢复光盘映像,其中包含 mysql 服务器的数据文件。
原始服务器不可用 - 我所拥有的只是数据文件(程序数据、程序文件等)。
我无法创建 mysqldump 文件。
在新服务器上,我安装了 mysql 服务器的精确副本,并将文件/文件夹(所有 myd myi 文件)从光盘映像复制到新服务器。
重新启动mysql服务后,我可以在mysql管理员中看到我的数据库列表。
但是,当我尝试查看表时,出现错误:
“1146 表 {dbname}.{tablename} 不存在。”
我尝试运行 myisamchk 但这表示存在问题(至少没有显示错误)
任何人都可以帮忙吗?
鲍勃
I have a recovery disc image which contains the datafiles for mysql server.
The original server is unavailable - all I have is the datafiles (programdata, program files etc).
I am not able to make a mysqldump file.
On the new server, I've installed the exact copy of mysql server, and copied the files/folders (all the myd myi files) from the disc image to the new server.
After restarting the mysql service, I can see the list of my databases in mysql administrator.
However, when I try to view a table, I get an error:
"1146 The table {dbname}.{tablename} does not exist."
I tried running myisamchk but this says there is n problem (at least no error is displayed)
Can anyone help?
Bob
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您将需要相应的 .frm 文件的副本,其中包含 MySQL 从 .myd/.myi 或 ibdata 文件读取原始行数据所需的格式信息。如果没有 .frm 文件,MySQL 甚至不知道这些表是否存在(这就是为什么找不到它们,并且 myisamchk 没有看到任何损坏的表)。
如果您没有这些文件,您可能会遇到麻烦。您应该能够通过从头开始重新创建表来重建 .frm,然后停止服务器并删除 .myd/.myis 覆盖空版本。但是您需要知道模式中最初使用的确切数据类型和索引。 (“修复非常困难”)
You will need a copy of the corresponding .frm files, which contain the format information MySQL needs to read the raw row data from .myd/.myi or ibdata files. Without the .frm files, MySQL does not know the tables are even supposed to exist (which is why they're not found, and myisamchk doesn't see any broken tables).
If you don't have these files, you may be in trouble. You should be able to reconstruct the .frm by re-CREATEing the tables from scratch, then stopping the server and dropping the .myd/.myis over the empty versions. But you will need to know the exact datatypes and indexes that were originally used in the schema. (“Very difficult repair”)