mysql - 将 'x.frm' 重命名为 'y.frm' 时出错 - 错误代码 : 13 - Permission denied - MySQL

标签 mysql database runtime-error

好吧,我知道关于这个问题有很多问题,但是,由于我找不到解决我的问题的答案(我尝试了很多很多解决方法!!),这让我浪费了我4个小时的工作,现在我找到了我的问题所在,我想分享并保留在这里,也供我自己将来引用。

问题

将“.\db_testes\#sql-1f1c_1a.frm”重命名为“.\db_testes\alteracaocrono_ateste.frm”时出错(错误代码:13 - 权限被拒绝)创建 MySQL 表后立即对其进行索引。

为什么这如此很奇怪?
1.因为它发生在脚本中,所以我有很多其他“创建表”和“创建索引”,它们在错误发生之前工作正常;
2.因为每次我在清理数据库后尝试再次运行它时,错误都发生在不同的地方,每次都有不同的索引!;
3.因为所有与MySQL相关的文件夹都对“所有人”都有FULL-CONTROLL权限(我知道我很绝望);

检查perror 13 我收到“Win32 - 数据无效”。根本没有太多信息。

我尝试过的内容

  1. 将MySQL的tmpdir(在mysql.ini中)更改为c:\temp(不幸的是,我工作中必须使用Windows来编程!);
  2. 更改所有data文件夹和所有mysql文件夹;
  3. 如此多次的重新启动(为了 Windows 的存在方式);
  4. 删除 MySQL 并在不同的文件夹中重新安装;
  5. 将 tmpdir 和 mysql 数据文件夹中的权限更改为完全控制

请查看我的答案以了解我是如何解决的。

最佳答案

解决方案

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

但是等等,这个名字没有重复!我第一时间就找对了!而且它也并不太长!它与同一脚本中的其他内容类似。它*没有特殊字符!** 它类似于 IX_TAB_ABC_123。那么,到底如何才能有人猜出问题是什么?。由于某种原因,MySQL 只是不喜欢我选择的名称,但它没有让我知道原因!!

我的结论

当你做软件的时候,请不要犯傻!把重要的错误信息放在上面!我所说的“有意义”是指清晰客观错误消息,指出确切的问题、原因以及(如果可能)解决方案。如果你这样做,世界将会变得更美好,相信我!

希望它能帮助其他遇到这个愚蠢问题的人!

关于mysql - 将 'x.frm' 重命名为 'y.frm' 时出错 - 错误代码 : 13 - Permission denied - MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51373910/

相关文章:

java - 我是否必须为每个查询连接到数据库?

java - 无法连接到 Oracle 数据库 : java. sql.SQLRecoverableException

error-handling - QTP,调用特定函数时出现未指定错误

html - 运行时错误 '424' vba 宏需要对象

java - 无法理解为什么这一小段代码不起作用

mysql - rake :db migrate does not return anything

javascript - 如何使用下拉列表中的onclick显示数据库中的数据?

mysql - 从数据库中获取特定订单的订单 ID 的查询是什么

php - 在 PHP 中添加单引号

php - 如果与字符串相比,如何将数组元素移动到顶部?