将“ x.frm”重命名为“ y.frm”时出错-错误代码:13-权限被拒绝-MySQL

时间:2018-07-17 05:37:18

标签: mysql database runtime-error

好吧,我知道关于这个问题有很多问题,但是由于找不到解决我的问题的答案(我尝试了很多很多变通方法!!),这使我浪费了4个小时的工作,现在我发现了问题所在,我想与大家分享并保存在这里,以备将来参考。

问题

Error on rename of '.\db_testes\#sql-1f1c_1a.frm' to '.\db_testes\alteracaocrono_ateste.frm' (Errcode: 13 - Permission denied)是刚在创建MySQL表时在创建索引时发生的情况。

为什么 SO 很奇怪?
1.因为它是在脚本中发生的,所以我有很多其他的“创建表”和“创建索引”在错误发生之前运行良好;
2.因为每次我在清理数据库后再次尝试运行它时,该错误都发生在不同的位置,每次都使用不同的索引!;
3.因为所有与MySQL相关的文件夹都对“所有人”具有完全控制权限(我很拼命,我知道);

检查perror 13我得到的是“ Win32-数据无效”。根本没有提供太多信息。

我尝试过的

  1. 将MySQL(在mysql.ini中)的tmpdir更改为c:\temp(不幸的是,我必须在工作中使用Windows进行编程!);
  2. 更改所有数据文件夹和所有mysql文件夹;
  3. 重启太多(为了Windows的存在);
  4. 在另一个文件夹中删除并重新安装MySQL;
  5. 在tmpdir和mysql数据文件夹中将权限更改为full-controll

请,请参阅我的答案以了解如何解决。

1 个答案:

答案 0 :(得分:0)

解决方案

最后,解决我问题的是:更改索引名称!

但是,等等,名称不再重复!我是第一次寻找它的!而且,时间不太长!它与同一脚本中的其他脚本相似。 *没有特殊字符!**类似IX_TAB_ABC_123。因此,世界上将如何猜出问题出在哪里?。由于某种原因,MySQL只是不喜欢我选择的名称,但是它并没有让我知道为什么!

我的结论

制作软件时,请不要愚蠢!贴上重要的错误信息! “重要”是指清晰客观错误消息,指出确切的问题,原因以及可能的解决方案。相信我,只要您做得到,世界就会变得更美好!

希望它可以帮助其他有这个愚蠢问题的人!