无法修改表格

时间:2010-05-20 06:59:38

标签: mysql

我遇到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)

几个月前我创建了这个表,稍微修改了一下,所以它就可以了。我仍然可以更新和插入项目,但我不能再修改表格了。

任何帮助都将不胜感激。

- 戴夫

4 个答案:

答案 0 :(得分:2)

您可以使用perror来理解mysql错误:

$ perror 13
OS error code  13:  Permission denied

答案 1 :(得分:0)

系统上的MySQL用户是否具有对./user_acct/文件夹的写入权限?

答案 2 :(得分: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)

解决方案

[root@s4 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

[root@s4 Db_Backup]# chown mysql:mysql BL_Backup

[root@s4 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)

答案 3 :(得分:0)

我刚碰到这个。当我试图做任何会改变我的旧MyISAM表的.frm的东西时,我得到了错误代码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确实没有。