2015-09-27 39 views
1

我試圖在phpMyAdmin執行查詢,並得到錯誤:爲什麼SQL foribben執行SELECT查詢?

#1142 - SELECT command denied to user 'cpses_tkdpmnyjWW'@'localhost' for table 'user' 

因此,用戶cpses_tkdpmnyjWW'@'localhost是動態創建的,我不能爲此用戶設置權限。 如何解決這個問題?

+1

你是什麼意思「我無法設置此用戶的權限」?爲什麼不?如果你能夠創建它,你顯然有寫權限的用戶帳戶。 – arkascha

回答

1

使用SHOW GRANTS來顯示您當前的用戶權限。這聽起來好像輸出可能類似於:

GRANT USAGE ON *.* TO 'Unnamed'@'localhost' 

這將意味着該帳戶可以登錄到服務器,但別無其他。 This page給出了更詳細的分解,你會看到有不少排列。

解決方案是您需要找到具有更多權限的帳戶或創建/更新權限。

如果上述不是選項,我可以嘗試的一個快速技巧是連接到'127.0.0.1'而不是'localhost'。在MySQL中,連接的來源可以構成用戶名的一部分,所以如果你使用Unix風格的操作系統,連接IP而不是套接字是合理的。

此外,如果您具有對服務器的管理員/ root訪問權限,則可以在MySQL啓動時創建用戶,這在某些情況下非常有用。

+0

問題是,如果當前會話,我不能爲用戶設置'GRANT',因爲在用戶改變之後。 – Muhad

+0

嗨,穆哈,你能澄清一下嗎?我認爲askaschas評論是相關的。也許在你的問題中解釋如何創建用戶帳戶。 –

+0

此帳戶暫時在phpmyadmin中爲當前會話 – Muhad