sql >> Database >  >> RDS >> Mysql

MySQL-gebruikersmachtigingen

Laten we eens kijken hoe u machtigingen (genaamd privileges) kunt verlenen aan een gebruiker van de MySQL-database

Standaard wanneer u een nieuwe MySQL-gebruiker aanmaakt met behulp van de syntaxis

CREATE USER '<username>'@'localhost' IDENTIFIED BY '<password>';

de gebruiker kan niet veel doen. We kunnen zeggen dat het eigenlijk nergens toe kan.

Het kan geen gegevens uit een bestaande database lezen, laat staan ​​​​de gegevens wijzigen. En het kan niet eens een nieuwe database maken.

Om een ​​gebruiker iets te laten doen, moet je rechten verlenen ernaar toe.

U kunt dit doen met de GRANT commando.

We kunnen GRANT <permission> . gebruiken , met behulp van de volgende toestemmingssleutelwoorden:

  • CREATE
  • DROP
  • DELETE
  • INSERT
  • SELECT
  • UPDATE
  • ALL PRIVILEGES

Geef privilege om nieuwe databases aan te maken aan een gebruiker

GRANT CREATE ON *.* TO '<username>'@'localhost';

Bevoegdheden geven aan een gebruiker om nieuwe tabellen te maken in een specifieke database

GRANT CREATE ON <database>.* TO '<username>'@'localhost';

Geef privilege om een ​​specifieke database te lezen (opvragen) aan een gebruiker

GRANT SELECT ON <database>.* TO '<username>'@'localhost';

Geef privilege om een ​​specifieke database tabel te lezen aan een gebruiker

GRANT SELECT ON <database>.<table> TO '<username>'@'localhost';

Bevoegdheid geven om rijen in een specifieke database in te voegen, bij te werken en te verwijderen een gebruiker

GRANT INSERT, UPDATE, DELETE ON <database>.* TO '<username>'@'localhost';

Geef een gebruiker het recht om tabellen in een specifieke database te verwijderen

GRANT DROP ON <database>.* TO '<username>'@'localhost';

Geef een gebruiker het recht om databases te verwijderen

GRANT DROP ON *.* TO '<username>'@'localhost';

Geef alle rechten op een specifieke database aan een gebruiker

GRANT ALL PRIVILEGES ON <database>.* TO '<username>'@'localhost';

Geef alle rechten aan een gebruiker

GRANT ALL PRIVILEGES ON *.* TO '<username>'@'localhost';

Een privilege intrekken

Voorbeeld om de DROP . in te trekken privilege op <database> :

REVOKE DROP ON <database>.* TO '<username>'@'localhost';

Voer het volgende uit om alle rechten in te trekken:

REVOKE ALL PRIVILEGES ON *.* TO '<username>'@'localhost';

U kunt de privileges van een enkele gebruiker visualiseren door het volgende uit te voeren:

SHOW GRANTS FOR '<username>'@'localhost';

  1. Detecteren of een waarde ten minste één numeriek cijfer bevat in MySQL

  2. Waarden selecteren uit Oracle Table Variable / Array?

  3. Veelgestelde vragen over JAVA/JRE in Oracle Apps

  4. JSON_PRETTY() – Formatteer JSON-documenten voor betere leesbaarheid in MySQL