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

Oprettelse af en bruger på MySQL

Lige efter du har installeret MySQL, vil du have root bruger tilgængelig.

Dette er den bruger, du kan bruge til at prøve at se, om MySQL virker, men det bør ikke være brugeren til andre former for brug.

Hvorfor? Fordi den er for kraftfuld .

Med stor magt følger et stort ansvar (sagde Spider-Mans onkel). Og især stor fare, hvis du laver fejl.

I stedet bør du oprette ad-hoc-brugere, der kun har tilladelser til at udføre deres job og ikke mere. Det samme for at bruge Linux eller ethvert Unix-system, for eksempel:du ønsker ikke at bruge root bruger, men din egen brugerkonto.

For at oprette en ny bruger skal du oprette forbindelse til MySQL ved hjælp af root bruger:

mysql -u root -p

brug derefter kommandoen

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

For eksempel at oprette en bruger ved navn test_user med adgangskode test_password12A kør kommandoen:

CREATE USER 'test_user'@'localhost' IDENTIFIED BY 'test_password12A';

Kommandoen skal returnere en linje, der siger Query OK, 0 rows affected (X.XX sec) :

Hvis du brugte en ugyldig adgangskode, ville systemet fortælle dig noget som ERROR 1819 (HY000): Your password does not satisfy the current policy requirements . I dette tilfælde siger fejlen, at adgangskoden ikke er kompleks nok, for da jeg installerede MySQL, fortalte jeg den at bruge en bestemt politik for adgangskoder.

Det er fantastisk! Nu er brugeren oprettet, og vi kan oprette forbindelse ved hjælp af denne bruger til MySQL. Fra kommandolinjen kan du afslutte ved at skrive QUIT , og skriv:

mysql -u test_user -p

Hvis jeg nu prøver at oprette en database, vil jeg få en fejl, der siger ERROR 1044 (42000): Access denied for user 'test_user'@'localhost' to database 'testing' :

Hvorfor? Fordi brugeren ikke har tilladelse til at oprette en ny database .

Vi vil se, hvordan du arbejder med tilladelser i et andet selvstudie.

Det er værd at nævne @'localhost' streng, vi brugte til at oprette brugeren. Dette fortæller MySQL, at brugeren kun kan oprette forbindelse fra localhost. Hvilket er fint, når man afprøver ting, og når enhver applikation, der vil oprette forbindelse til MySQL, kører på den samme computer, der kører DBMS.

Når dette ikke er sandt, skal du enten manuelt indtaste den IP, brugeren vil oprette forbindelse fra, eller bruge % jokertegn:

CREATE USER 'test_user'@'%' IDENTIFIED BY 'test_password12A';

Jeg vil lukke denne vejledning ved at vise, hvordan du fjerner den bruger, vi oprettede:

DROP USER 'test_user'@'localhost';

  1. Hvordan henter man den første og sidste post af en grupperet post i en MySQL-forespørgsel med aggregerede funktioner?

  2. SQLite database læk fundet

  3. Slet en databasepostkonto (SSMS)

  4. Sådan planlægger du databasesikkerhedskopier med ClusterControl