2012-03-30 59 views
4

我無意中做了一件有點笨並輸入到這個MySQL控制檯:撤銷的MySQL root權限仔細

mysql> grant all on myDB.* to [email protected]'%' identified by 'root'; 

...和DB配置是開放的遠程登錄。現在我需要刪除這個授權,但不想意外撤銷我的root用戶的所有權限,並有效地將自己鎖定在數據庫中作爲數據庫管理員。我該怎麼辦?

回答

0

一兩件事你可以做的是要經過mysql.user,只除去違規行,flush privileges的

4

首先,確認您的[email protected]和/或[email protected]用戶都可以訪問。

SHOW GRANTS FOR [email protected]; 
SHOW GRANTS FOR [email protected]; 

你應該在結果中看到設置的線路像GRANT ALL PRIVILEGES ON *.* to...假設項存在,你可以安全地從mysql數據庫中刪除被授予[email protected]'%'

REVOKE all on myDB.* from [email protected]'%'; 
FLUSH PRIVILEGES; 

假設你不希望[email protected]'%'用戶存在兩種:

DROP USER [email protected]'%'; 
0

用途:

SHOW GRANTS FOR 'root'@'%';

查看root所有的權限。

然後,刪除特定權限:

REVOKE SELECT FROM [email protected]'%'

這裏有more