sql >> Databasteknik >  >> Database Tools >> phpMyAdmin

Ta bort privilegier från MySQL-databasen

USAGE-privilegiet i mysql betyder helt enkelt att det inte finns några privilegier för användaren 'phpadmin'@'localhost' definierad på global nivå *.* . Dessutom har samma användare ALLA-privilegier på databasen phpmyadmin phpadmin.* .

Så om du vill ta bort alla privilegier och börja helt från början gör följande:

  • Återkalla alla privilegier på databasnivå:

    REVOKE ALL PRIVILEGES ON phpmyadmin.* FROM 'phpmyadmin'@'localhost';

  • Släpp användaren 'phpmyadmin'@'localhost'

    DROP USER 'phpmyadmin'@'localhost';

Ovanstående procedur kommer helt att ta bort användaren från din instans, detta betyder att du kan återskapa honom från början.

För att ge dig lite bakgrund om vad som beskrivits ovan:så snart du skapar en användare mysql.user tabellen kommer att fyllas i. Om du tittar på en post i den kommer du att se användaren och alla privilegier inställda på 'N' . Om du gör en show grants for 'phpmyadmin'@'localhost'; du kommer att se, den redan välbekanta, utgången ovan. Enkelt översatt till "inga privilegier på global nivå för användaren". Nu beviljar du ALL för denna användare på databasnivå kommer detta att lagras i tabellen mysql.db . Om du gör en SELECT * FROM mysql.db WHERE db = 'nameofdb'; du kommer att se en 'Y' på varje priv.

Ovan beskrivits visar scenariot du har på din db för närvarande. Så att ha en användare som bara har USAGE privilegium betyder att denna användare kan ansluta, men förutom SHOW GLOBAL VARIABLES; SHOW GLOBAL STATUS; han har inga andra privilegier.



  1. phpMyAdmin-åtkomst nekad för användaren 'root'@'localhost' (med lösenord:NO)

  2. Kan inte installera adventureworks 2012 databas - Operativsystemfel 5:Åtkomst nekad

  3. Hur man ansluter till SQL Server CE-fil med SSMS

  4. MySQL-fel:Saknas index för begränsning