Maak een nieuwe gebruiker aan in MySQL en geef hem volledige toegang tot een database

Ik wil een nieuwe gebruiker aanmaken in MySQL en die volledige toegang geven tot slechts één database, zeg dbTest, die ik aanmaak met een commando als create database dbTest;. Wat zouden de MySQL commando's zijn om dat te doen?

Probeer dit om de gebruiker aan te maken:

CREATE USER 'user'@'hostname';

Probeer dit om hem toegang te geven tot de database dbTest:

GRANT ALL PRIVILEGES ON dbTest.* To 'user'@'hostname' IDENTIFIED BY 'password';

Als u de code/site die MySQL benadert op dezelfde machine draait, is de hostnaam localhost.

Nu, het uitsplitsen.

GRANT - Dit is het commando dat gebruikt wordt om gebruikers aan te maken en rechten te verlenen aan databases, tabellen, etc.

ALL PRIVILEGES - Dit vertelt het dat de gebruiker alle standaard rechten krijgt. Dit omvat echter niet het recht om het GRANT commando te gebruiken.

dbtest.* - Dit instrueert MySQL om deze rechten toe te passen voor gebruik in de gehele dbtest database. U kunt de * vervangen door specifieke tabel namen of store routines als u dat wilt.

TO 'user'@'hostname' - 'user' is de gebruikersnaam van de gebruikersaccount die u aanmaakt. Opmerking: Je moet de enkele aanhalingstekens er tussen hebben. 'hostname' vertelt MySQL van welke hosts de gebruiker kan verbinden. Als u het alleen vanaf dezelfde machine wilt, gebruik dan localhost

IDENTIFIED BY 'password' - Zoals je al geraden had, stelt dit het wachtwoord in voor die gebruiker.

Commentaren (10)

Om een gebruiker aan te maken en alle rechten toe te kennen op een database.

Log in op MySQL:

mysql -u root

Maak nu en verleen

GRANT ALL PRIVILEGES ON dbTest.* To 'user'@'hostname' IDENTIFIED BY 'password';

Anonieme gebruiker (alleen voor lokale testen)

Als alternatief, als u alleen volledige onbeperkte toegang tot een database wilt verlenen (b.v. op uw lokale machine voor een test instantie, dan kunt u toegang verlenen aan de anonieme gebruiker, zoals dit:

GRANT ALL PRIVILEGES ON dbTest.* To ''@'hostname'

Wees ervan bewust

Dit is prima voor junk data in ontwikkeling. Doe dit niet met iets waar je om geeft.

Commentaren (4)

U kunt nieuwe gebruikers aanmaken met het CREATE USER commando, en hen rechten geven met GRANT.

Commentaren (1)