2013-05-08 70 views
0

我收到此错误。我试着用谷歌搜索,通过StackOverflow搜索,但我找不到相同的错误代码。下面是我得到:尝试更改表格时奇怪的MySQL错误

#7 - Error on rename of './wp_data/products_per_store.frm' to './wp_data/#sql2-c16-40.frm' (Errcode: 1) 

当试图运行此查询:

ALTER TABLE `products_per_store` 
DROP `brand`, 
DROP `upc`, 
DROP `price_increase`, 
DROP `price_decrease`, 
DROP `oos_certeincomp`, 
DROP `oos_allcomp`, 
DROP `flagged`, 
DROP `optimal`, 
DROP `low`; 

我的XAMPP在Linux上我(的Fedora 18,如果该事项)。 我试着更改文件权限,但没有帮助,重新启动MySQL也没有。

+0

是否存在'。/ wp_data/products_per_store.frm'? MySQL是否具有对'。/ wp_data'目录的写入权限? – piotrekkr 2013-05-08 09:53:30

+0

你最近升级了MySQL吗?在这种情况下,运行mysql_upgrade。其他可能的原因...你丢弃了一个表空间吗?在另一个表格中是否有FK,指的是您试图放下的某个字段? – 2013-05-08 09:57:50

+0

是的,整个数据目录是7777.不,我最近没有升级过MySQL。 – casraf 2013-05-08 10:18:44

回答

1

玩过各种权限后,这里就是交易。

MySQL按照nobody用户在Linux上, 运行(而不是MySQL作为我曾以为)更改目录和它的后代所有者无人工作。 还要确保权限至少为755.

+0

这就是问题所在,我想说适当的解决方案是用合适的用户运行MySQL,而不是让任何人摆弄数据文件。 – 2013-05-08 15:18:04

+0

它曾经工作过,我不知道是什么原因导致问题突然出现。作为GUI用户,权限突然被拒绝,只能访问root。它不应该是这样的。它不是世界可写的,但它也不受根源的保护。我不以root身份运行mysql。 – casraf 2013-05-08 15:34:59

+0

检查了一下之后,这是XAMPP的MySQL文件上使用的默认用户。我显然是错误地改变了它,或者试图更容易地编辑文件而不必请求超级用户访问。 – casraf 2013-05-30 08:31:21