2010-05-20 83 views
3

我遇到了mysql问题。我可以读写,但现在我想添加一些字段到表中。我运行此命令: ALTER TABLE Pubs ADD COLUMN issue tinyint AFTER volume;无法修改表

但收到此错误信息: ERROR 7 (HY000): Error on rename of './user_acct/Pubs.MYI' to './user_acct/#sql2-cb0-76f2.MYI' (Errcode: 13)

我创造了这个表在几个月前,修改了它一点点,所以它的工作呢。我仍然可以更新和插入项目,但我无法修改表格了。

任何帮助,将不胜感激。

--Dave

回答

2

您可以使用PERROR到undesrtand MySQL错误:

$ perror 13 
OS error code 13: Permission denied 
+0

但为什么mysql能够添加条目到表(并更改磁盘上的文件),但将无法重命名它? – fastmultiplication 2014-04-29 08:46:00

0

执行系统上的MySQL用户有写权限的文件夹./user_acct/

+0

我没有访问MySQL服务器。我获得了帐户,主机和端口。管理员说他“固定权限”,但错误仍然存​​在。至少我相当肯定,我无能为力。谢谢,戴夫 – 2010-05-21 17:18:32

0

只有存取权限的问题

错误:

mysql> rename table BL_Backup.TMP_BL_transaction_02 to BL_Backup.BL_transaction_02; 
ERROR 7 (HY000): Error on rename of './BL_Backup/TMP_BL_transaction_02.MYI' to './BL_Backup/BL_transaction_02.MYI' (Errcode: 13) 

解决方案

[[email protected] Db_Backup]# ll 
total 52 
drwxr-xr-x 2 root root 4096 Sep 28 18:19 BL_Backup 
drwx------ 2 mysql mysql 49152 May 19 15:59 mauj_2010_2011 

[[email protected] Db_Backup]# chown mysql:mysql BL_Backup 

[[email protected] Db_Backup]# ll 
total 52 
drwxr-xr-x 2 mysql mysql 4096 Sep 28 18:19 BL_Backup 
drwx------ 2 mysql mysql 49152 May 19 15:59 mauj_2010_2011 

mysql> rename table TMP_BL_transaction_02 to BL_transaction_02; 
Query OK, 0 rows affected (0.00 sec) 
0

我只是碰到了这一点。当我试图做任何会改变旧MyISAM表的.frm,但没有更新的表时,我得到了errcode 13。

这是因为ubuntu更新过程(几周前完成)以某种方式获得mysql检查深度/ tmp中的文件的权限,而该文件没有保留权限。

root root /tmp/upgrade-XX-X/var/.wh..wh.afs 

我通过使用'dmesg'并查看权限被拒绝错误发现了这一点。

[111111111.222222] type=1503 audit(1862.6:7): operation="link" 
    pid=<> parent=1 profile="/usr/sbin/mysqld" requested_mask="::l" 
    denied_mask="::l" fsuid=<> ouid=<> 
    name="/tmp/upgrade-XX-X/var/lib/mysql/<dbname>" 
    name2="/tmp/upgrade-XX-X/var/.wh..wh.aufs" 

想知道为什么在这个世界上,mysql试图获取关于这个文件的信息?

chmod 777对此.wh文件没有帮助,但chown mysql:mysql没有。