sql >> Database teknologi >  >> RDS >> Mysql

Giv tilladelser til en MySQL-bruger på Linux via kommandolinjen

Tidligere serie:
MySQL via kommandolinje 101:Grundlæggende databaseinteraktion

Preflight Check

  • Disse instruktioner er beregnet til at give en MySQL-brugertilladelser på Linux via kommandolinjen
  • Jeg arbejder fra en Liquid Web Core Managed CentOS 6.5-server, og jeg bliver logget ind som root.

Log ind på MySQL

Først logger vi på MySQL-serveren fra kommandolinjen med følgende kommando:

mysql -u root -p

I dette tilfælde har jeg angivet brugerroden med flaget -u og derefter brugt flaget -p, så MySQL beder om en adgangskode. Indtast din nuværende adgangskode for at fuldføre login.

Hvis du har brug for at ændre din root-adgangskode (eller en hvilken som helst anden) adgangskode i databasen, så følg denne vejledning om at ændre en adgangskode til MySQL via kommandolinjen.

Du skulle nu være ved en MySQL-prompt, der ligner meget denne:

mysql>

Hvis du endnu ikke har oprettet en MySQL-bruger, se venligst vores vejledning om oprettelse af en MySQL-bruger.

Giv tilladelser til MySQL-bruger

Den grundlæggende syntaks for at give tilladelser er som følger:

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

Her er en kort liste over almindeligt anvendte tilladelser :

  • ALLE – Tillad fuldstændig adgang til en specifik database. Hvis en database ikke er specificeret, så tillad fuldstændig adgang til hele MySQL.
  • OPRET - Tillad en bruger at oprette databaser og tabeller.
  • SLET - Tillad en bruger at slette rækker fra en tabel.
  • DROP - Tillad en bruger at droppe databaser og tabeller.
  • UDFØR - Tillad en bruger at udføre lagrede rutiner.
  • GIV MULIGHED - Tillad en bruger at tildele eller fjerne en anden brugers privilegier.
  • INDSÆT – Tillad en bruger at indsætte rækker fra en tabel.
  • SELECT - Tillad en bruger at vælge data fra en database.
  • VIS DATABASER- Tillad en bruger at se en liste over alle databaser.
  • OPDATERING – Tillad en bruger at opdatere rækker i en tabel.

Eksempel #1: For at give CREATE-tilladelser til alle databaser * og alle tabeller * til den bruger, vi oprettede i det forrige selvstudie, skal du teste brugeren ved at bruge følgende kommando:

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

Brug af en stjerne (*) i stedet for databasen eller tabellen er en fuldstændig gyldig mulighed og indebærer alle databaser eller alle tabeller.

Eksempel #2: For at give testbrugeren mulighed for at droppe tabeller i den specifikke database, tutorial_database, skal du bruge DROP-tilladelsen:

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

Når du er færdig med at foretage dine tilladelsesændringer, er det god praksis at genindlæse alle privilegier med flush-kommandoen!

FLUSH PRIVILEGES;

Se Grants for MySQL-bruger

Når du har givet tilladelser til en MySQL-bruger, vil du sikkert gerne dobbelttjekke dem. Brug følgende kommando til at kontrollere bevillingerne til testbrugeren:

SHOW GRANTS FOR 'testuser'@'localhost';

De mest hjælpsomme mennesker i Hosting™

Vi er stolte af at være de mest hjælpsomme mennesker inden for Hosting™! Vores supportmedarbejdere er altid til rådighed for at hjælpe med alle dedikerede, cloud- eller VPS-serverproblemer 24 timer i døgnet, 7 dage om ugen 365 dage om året.

Vi er tilgængelige via vores billetsystemer på [email protected], på telefon (på 800-580-4986) eller via en LiveChat, uanset hvilken metode du foretrækker. Vi arbejder hårdt for dig, så du kan slappe af.

Serienavigation<>

  1. Sådan installeres, sikres og ydeevneindstilling af MariaDB-databaseserveren

  2. Oracle 11g - Unpivot

  3. Sådan fungerer COMPRESS() i MariaDB

  4. MySQL versus PDO