MySQL är det mest populära open-source relational database management system. MySQL server tillåter oss att skapa många användarkonton och bevilja lämpliga privilegier så att användarna kan komma åt och hantera databaser.

den här handledningen beskriver hur du skapar MySQL-användarkonton och beviljar privilegier.

innan du börjar #

vi antar att du redan har MySQL eller MariaDB-server installerad på ditt system.

alla kommandon körs inuti MySQL-skalet som root eller administrativ användare., De minimibehörigheter som krävs för att skapa användarkonton och definiera deras privilegier är CREATE USER och GRANT.

för att komma åt MySQL shell skriv följande kommando och ange ditt MySQL root-användarlösenord när du uppmanas:

mysql -u root -p

om du har MySQL version 5.7 eller senare som använder auth_socket plugin inloggning som root genom att skriva:

sudo mysql

skapa ett nytt MySQL-användarkonto #

ett användarkonto i MySQL består av två delar: användarnamn och värdnamn.,

för att skapa ett nytt MySQL-användarkonto, kör följande kommando:

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'user_password';
ersättnewuser med det nya användarnamnet ochuser_password med användarlösenordet.

i exemplet ovan är värdnamnsdelen inställd pålocalhost, vilket innebär att användaren endast kan ansluta till MySQL-servern från localhost (dvs. från systemet där MySQL-servern körs).

för att bevilja åtkomst från en annan värd, ändra värdnamnsdelen med fjärrdatorns IP., Till exempel, för att bevilja åtkomst från en maskin med IP 10.8.0.5 skulle du köra:

CREATE USER 'newuser'@'10.8.0.5' IDENTIFIED BY 'user_password';

för att skapa en användare som kan ansluta från vilken värd som helst, använd '%' jokertecken som värddel:

CREATE USER 'newuser'@'%' IDENTIFIED BY 'user_password';

bevilja behörighet till ett MySQL-användarkonto #

det finns flera typer av privilegier som kan beviljas ett användarkonto. Du kan hitta en fullständig lista över privilegier som stöds av MySQL här .,

de vanligaste behörigheterna är:

  • ALL PRIVILEGES – ger alla behörigheter till ett användarkonto.
  • CREATE – användarkontot får skapa databaser och tabeller.
  • DROP – användarkontot får släppa databaser och tabeller.
  • DELETE – användarkontot får ta bort rader från en specifik tabell.
  • INSERT – användarkontot får Infoga rader i en specifik tabell.,
  • SELECT – användarkontot får läsa en databas.
  • UPDATE – användarkontot får uppdatera tabellrader.,ble från en databas:

    GRANT ALL PRIVILEGES ON database_name.table_name TO 'database_user'@'localhost';
  • bevilja flera privilegier till ett användarkonto via en specifik databas:

    GRANT SELECT, INSERT, DELETE ON database_name.* TO database_user@'localhost';

Visa MySQL Användarkontobehörighet #

för att hitta de privilegier som beviljats ett specifikt MySQL-användarkonto, använd SHOW GRANTS uttalande:

SHOW GRANTS FOR 'database_user'@'localhost';

utgången kommer att se ut ungefär som nedan:

återkalla privilegier från ett MySQL-användarkonto #

syntaxen för att återkalla en eller flera privilegier från ett användarkonto är nästan identisk som vid beviljande av privilegier.,

för att återkalla alla privilegier från ett användarkonto via en specifik databas, kör följande kommando:

REVOKE ALL PRIVILEGES ON database_name.* FROM 'database_user'@'localhost';

ta bort ett befintligt MySQL-användarkonto #

för att ta bort ett MySQL-användarkonto användDROP USER – uttalandet:

DROP USER 'user'@'localhost'

kommandot ovan tar bort användarkontot.och dess privilegier.

slutsats #

denna handledning omfattar endast grunderna, men det bör vara en bra start för alla som vill lära sig att skapa nya MySQL användarkonton och bevilja privilegier.