sql >> Databasteknik >  >> RDS >> Mysql

Ge behörigheter till en MySQL-användare på Linux via kommandoraden

Tidigare serie:
MySQL via kommandorad 101:Grundläggande databasinteraktion

Preflight Check

  • Dessa instruktioner är avsedda för att ge en MySQL-användarbehörighet på Linux via kommandoraden
  • Jag kommer att arbeta från en Liquid Web Core Managed CentOS 6.5-server och jag kommer att loggas in som root.

Logga in på MySQL

Först loggar vi in ​​på MySQL-servern från kommandoraden med följande kommando:

mysql -u root -p

I det här fallet har jag angett användarroten med flaggan -u och sedan använt -p-flaggan så att MySQL frågar efter ett lösenord. Ange ditt nuvarande lösenord för att slutföra inloggningen.

Om du behöver ändra ditt root-lösenord (eller något annat) lösenord i databasen, följ den här handledningen om hur du ändrar ett lösenord för MySQL via kommandoraden.

Du bör nu vara vid en MySQL-prompt som ser väldigt lik ut denna:

mysql>

Om du ännu inte har skapat en MySQL-användare, se vår handledning om hur du skapar en MySQL-användare.

Ge behörigheter till MySQL-användare

Den grundläggande syntaxen för att bevilja behörigheter är följande:

GRANT permission ON database.table TO 'user'@'localhost';

Här är en kort lista över vanliga behörigheter :

  • ALLA – Tillåt fullständig åtkomst till en specifik databas. Om en databas inte anges, tillåt sedan fullständig åtkomst till hela MySQL.
  • SKAPA - Tillåt en användare att skapa databaser och tabeller.
  • RADERA – Tillåt en användare att ta bort rader från en tabell.
  • DROP - Tillåt en användare att släppa databaser och tabeller.
  • EXEKUT - Tillåt en användare att köra lagrade rutiner.
  • BEHANDLA ALTERNATIV – Tillåt en användare att bevilja eller ta bort en annan användares privilegier.
  • INSERT – Tillåt en användare att infoga rader från en tabell.
  • SELECT - Tillåt en användare att välja data från en databas.
  • VISA DATABASER- Tillåt en användare att se en lista över alla databaser.
  • UPPDATERING – Tillåt en användare att uppdatera rader i en tabell.

Exempel #1: För att ge CREATE-behörigheter för alla databaser * och alla tabeller * till användaren vi skapade i föregående handledning, testanvändare, använd följande kommando:

GRANT CREATE ON *.* TO 'testuser'@'localhost';

Att använda en asterisk (*) i stället för databasen eller tabellen är ett helt giltigt alternativ och innebär alla databaser eller alla tabeller.

Exempel 2: För att ge testanvändare möjligheten att släppa tabeller i den specifika databasen, tutorial_database, använd DROP-behörigheten:

GRANT DROP ON tutorial_database.* TO 'testuser'@'localhost';

När du är klar med dina behörighetsändringar är det bra att ladda om alla privilegier med flush-kommandot!

FLUSH PRIVILEGES;

Visa Grants för MySQL-användare

Efter att du har gett behörigheter till en MySQL-användare vill du förmodligen dubbelkolla dem. Använd följande kommando för att kontrollera grants för testanvändare:

SHOW GRANTS FOR 'testuser'@'localhost';

De mest hjälpsamma människorna inom Hosting™

Vi är stolta över att vara de mest hjälpsamma människorna inom Hosting™! Vår supportpersonal är alltid tillgänglig för att hjälpa till med alla dedikerade, moln- eller VPS-serverproblem 24 timmar om dygnet, 7 dagar i veckan 365 dagar om året.

Vi är tillgängliga via våra biljettsystem på [email protected], per telefon (på 800-580-4986) eller via en LiveChat för vilken metod du än föredrar. Vi jobbar hårt för dig så att du kan koppla av.

Serienavigering<>

  1. NUMTOYMINTERVAL() Funktion i Oracle

  2. Tjänstegruppförändringar i R12.2

  3. Hur man konverterar till versaler i SQLite

  4. Introducerar ny funktion - Spotlight Cloud Database Growth Report