我想将数据库表从我的生产服务器复制到本地测试机器,这样我就可以执行真实数据的测试(副本).
我停止了mysql并删除了所有的frm,MYD和MYI文件.在这里启动mysql并查询show tables会给出一个空结果集.然后我关闭了mysql并从服务器复制了所有frm,MYD和MYI文件.当启动mysql"show tables"按预期显示表但尝试查询它时,我收到错误消息
ERROR 1017(HY000):找不到文件:'./WhateverTableIQuery.frm'(错误号码:13)
但WhateverTableIQuery.frm文件位于光盘上,与服务器上的文件相同.
关于什么可能是问题的任何想法?
Tom*_*Mac 34
我建议尝试两件事:
1.检查权限
确保您的MySQL数据目录及其中的所有文件归mysql用户和mysql组所有.如果您以root用户身份将文件复制到本地测试计算机上,则可能不是这种情况:
chown -R mysql:mysql your-mysql-data-dir-here
Run Code Online (Sandbox Code Playgroud)
2.修复损坏的表格
使用mysqlcheck检查损坏的表并在发现任何情况时修复它们:
mysqlcheck -u root -p --auto-repair --all-databases
Run Code Online (Sandbox Code Playgroud)
如果你之后仍然无法使用表格,那就给mysqldump一个去吧!
| 归档时间: |
|
| 查看次数: |
30320 次 |
| 最近记录: |