2010-05-20 121 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沒有。