好吧,我知道关于这个问题有很多问题,但是,由于我找不到解决我的问题的答案(我尝试了很多很多解决方法!!),这让我浪费了我4个小时的工作,现在我找到了我的问题所在,我想分享并保留在这里,也供我自己将来引用。
问题
将“.\db_testes\#sql-1f1c_1a.frm”重命名为“.\db_testes\alteracaocrono_ateste.frm”时出错(错误代码:13 - 权限被拒绝)
创建 MySQL 表后立即对其进行索引。
为什么这如此很奇怪?
1.因为它发生在脚本中,所以我有很多其他“创建表”和“创建索引”,它们在错误发生之前工作正常;
2.因为每次我在清理数据库后尝试再次运行它时,错误都发生在不同的地方,每次都有不同的索引!;
3.因为所有与MySQL相关的文件夹都对“所有人”都有FULL-CONTROLL权限(我知道我很绝望);
检查perror 13
我收到“Win32 - 数据无效”。根本没有太多信息。
我尝试过的内容
- 将MySQL的
tmpdir
(在mysql.ini中)更改为c:\temp
(不幸的是,我工作中必须使用Windows来编程!); - 更改所有data文件夹和所有mysql文件夹;
- 如此多次的重新启动(为了 Windows 的存在方式);
- 删除 MySQL 并在不同的文件夹中重新安装;
- 将 tmpdir 和 mysql 数据文件夹中的权限更改为
完全控制
;
请查看我的答案以了解我是如何解决的。
最佳答案
解决方案
最后,解决我问题的是:更改索引名称!
但是等等,这个名字没有重复!我第一时间就找对了!而且它也并不太长!它与同一脚本中的其他内容类似。它*没有特殊字符!** 它类似于 IX_TAB_ABC_123
。那么,到底如何才能有人猜出问题是什么?。由于某种原因,MySQL 只是不喜欢我选择的名称,但它没有让我知道原因!!
我的结论
当你做软件的时候,请不要犯傻!把重要的错误信息放在上面!我所说的“有意义”是指清晰和客观错误消息,指出确切的问题、原因以及(如果可能)解决方案。如果你这样做,世界将会变得更美好,相信我!
希望它能帮助其他遇到这个愚蠢问题的人!
关于mysql - 将 'x.frm' 重命名为 'y.frm' 时出错 - 错误代码 : 13 - Permission denied - MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51373910/