簡體   English   中英

向 MySQL 中的用戶授予權限

[英]Grant privileges to user in MySQL

從我網站的控制面板中,我創建了一個新的 MySQL(5) 數據庫Test和一個密碼為123的新用戶admin 我嘗試使用以下方法為用戶admin分配權限:

GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost'

或者

GRANT ALL PRIVILEGES ON *.* TO 'admin'@'Test'

我不斷收到以下錯誤:

#1045 - 用戶 'admin'@'%' 的訪問被拒絕(使用密碼:YES)

我需要用戶admin的以下權限:

創建、更改、刪除、插入、SELECT、更新、鎖定表

如何在來自 phpMyAdmin 的查詢中做到這一點?

我猜您正在嘗試更改以該用戶身份登錄的'admin'@''%'特權。 這很奇怪。

您可以顯示正在使用哪個用戶登錄

SELECT USER();

然后檢查該帳戶已具有的贈款:

SHOW GRANTS FOR 'admin'@''%';

我們得出的結論是

GRANT ALL PRIVILEGES ON `Test`.* TO 'admin'@'%'

也就是說,您已經對數據庫Test所有表擁有所有特權。 但是,您無法進一步將這些特權授予其他用戶(否則將具有WITH GRANT OPTION )。

在安裝MySQL的過程中,始終創建root用戶。 使用它向其他帳戶授予特權。

手冊中的更多信息:

運行這些語句后,嘗試執行FLUSH

FLUSH PRIVILEGES;

MYSQL參考手冊

(...)如果您直接更改授權表但忘記重新加載它們,則更改將在重新啟動服務器之前無效。 這可能會讓您想知道為什么您的更改似乎沒有任何效果!

要告訴服務器重新加載授權表,請執行flush-privileges操作。 (......)

以 root 用戶身份登錄,然后將所有權限授予 admin 用戶。

授予所有test權限。* TO 'admin'@'localhost';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM