sql >> Database >  >> RDS >> Mysql

Hoe een gebruiker aan te maken in MySQL

Vaak moet u een nieuwe gebruiker in MySQL maken om de gebruikerstoegang voor uw database te beheren. In dit artikel zullen we bekijken hoe u een gebruiker in MySQL kunt maken met de opdracht MySQL CREATE USER.

Gebruiker aanmaken in MySQL

Hier zijn de stappen om een ​​gebruiker aan te maken in MySQL. We zullen de MySQL CREATE USER-verklaring gebruiken om een ​​gebruikersaccount aan te maken.

Hier is de syntaxis van CREATE USER-query

CREATE USER [IF NOT EXISTS] username@hostname
IDENTIFIED BY 'password';

In de bovenstaande zoekopdracht moet u de gebruikersnaam . opgeven en hostnaam als gebruikersnaam@hostnaam na CREATE USER-trefwoorden.

Gebruikersnaam is de naam van de gebruiker (bijv. test_user) en hostnaam is de host (bijv. 127.0.0.1) van waaruit de gebruiker verbinding kan maken met uw database.

Als uw gebruikers de database benaderen vanaf hetzelfde host-IP als dat van de databaseserver, dan kunt u 127.0.0.1 of localhost gebruiken als hostnaam

wachtwoord is het wachtwoord (bijv. pass123) voor deze nieuwe gebruiker.

U kunt optioneel het trefwoord IF NOT EXISTS gebruiken om een ​​nieuwe gebruiker aan te maken, alleen als deze niet bestaat.

Bonus Lezen:Database maken in MySQL

MySQL CREATE USER-voorbeelden

Hier is een voorbeeld van een MySQL CREATE USER-query om een ​​nieuwe gebruiker aan te maken.

CREATE USER 'test_user'@127.0.0.1
IDENTIFIED BY 'pass123';

De bovenstaande gebruiker kan alleen verbinding maken vanaf 127.0.0.1 (ook bekend als localhost), dat wil zeggen vanaf dezelfde host waar uw database zich bevindt. Deze nieuwe gebruiker kan geen verbinding maken met uw database vanaf een ander IP-adres (andere laptops, werkstations, enz.).

Als u wilt dat uw gebruiker verbinding kan maken vanaf een extern IP-adres (bijv. 54.245.23.21), geeft u dit op als uw hostnaam

CREATE USER 'test_user'@54.245.23.21
IDENTIFIED BY 'pass123';

U kunt ook domeinnamen en eindpunten gebruiken in plaats van de hostnaam. Hier is een voorbeeld van een database-gebruikersnaam voor Amazon RDS. We gebruiken RDS-eindpunt (mysql–instance1.123456789012.us-east-1.rds.amazonaws.com ) voor hostnaam.

CREATE USER 'test_user'@mysql–instance1.123456789012.us-east-1.rds.amazonaws.com 
IDENTIFIED BY 'pass123';

Bonus lezen:een tabel maken in MySQL

Als u de hostnaam uit de bovenstaande zoekopdracht weglaat, kan een nieuwe gebruiker verbinding maken vanaf elke host.

Hier is een voorbeeld

CREATE USER 'test_user'@
IDENTIFIED BY 'pass123';

In de bovenstaande zoekopdracht kunt u ook gebruikersnaam@% gebruiken (bijv. test_user@%)

Als gebruikersnaam en hostnaam speciale tekens bevatten, moet u gebruikersnaam en hostnaam opgeven tussen enkele aanhalingstekens('), dubbele aanhalingstekens(“) of backticks (`). Hier is een voorbeeld.

CREATE USER 'test_user#1'@127.0.0.1
IDENTIFIED BY 'pass123';

Bonus Lezen:Hoe u een externe sleutel in MySQL kunt toevoegen

Houd er rekening mee dat de nieuwe gebruiker die is gemaakt geen privileges heeft, dat wil zeggen dat hij geen enkele database kan doorzoeken. Daarvoor moet u gebruikersrechten verlenen met de GRANT-instructie.

Hier is een voorbeeld van het verlenen van alle rechten aan een nieuwe gebruiker, voor database sample_db

mysql> grant all privileges on sample_db.* to 'test_user#1'@127.0.0.1;

Hopelijk kun je nu een gebruiker aanmaken in MySQL.

Ubiq maakt het gemakkelijk om gegevens binnen enkele minuten te visualiseren en in realtime dashboards te monitoren. Probeer het vandaag nog!

  1. Gelijk aan unpivot() in PostgreSQL

  2. Vind de echte kolomnaam van een alias die in een weergave wordt gebruikt?

  3. kan geen extensie maken zonder de rol van supergebruiker

  4. Is er een manier om de autoincrement-ID op te halen uit een voorbereide instructie?