我遇到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)
几个月前我创建了这个表,稍微修改了一下,所以它就可以了。我仍然可以更新和插入项目,但我不能再修改表格了。
任何帮助都将不胜感激。
- 戴夫
答案 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
确实没有。