sql >> Databasteknik >  >> RDS >> Mysql

Skapa en användare på MySQL

Direkt efter att du har installerat MySQL kommer du att ha root användaren tillgänglig.

Det här är användaren du kan använda för att försöka se om MySQL fungerar, men det bör inte vara användaren för andra typer av användningar.

Varför? Eftersom den är för kraftfull .

Med stor makt kommer stort ansvar (sade Spider-Mans farbror). Och i synnerhet stor fara om du gör misstag.

Istället bör du skapa ad-hoc-användare som bara har behörighet att utföra sitt jobb och inte mer. Samma för att använda Linux eller något Unix-system, till exempel:du vill inte använda root användare, men ditt eget användarkonto.

För att skapa en ny användare, anslut till MySQL med root användare:

mysql -u root -p

använd sedan kommandot

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

Till exempel för att skapa en användare som heter test_user med lösenordet test_password12A kör kommandot:

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

Kommandot ska returnera en rad som säger Query OK, 0 rows affected (X.XX sec) :

Om du använde ett ogiltigt lösenord, skulle systemet berätta något som ERROR 1819 (HY000): Your password does not satisfy the current policy requirements . I det här fallet säger felet att lösenordet inte är tillräckligt komplext, för när jag installerade MySQL sa jag åt det att använda en viss policy för lösenord.

Toppen! Nu har användaren skapats och vi kan ansluta med den användaren till MySQL. Från kommandoraden kan du avsluta genom att skriva QUIT , och skriver:

mysql -u test_user -p

Om jag nu försöker skapa en databas, skulle jag få ett felmeddelande som säger ERROR 1044 (42000): Access denied for user 'test_user'@'localhost' to database 'testing' :

Varför? Eftersom användaren inte har behörighet att skapa en ny databas .

Vi kommer att se hur du arbetar med behörigheter i en annan handledning.

Det är värt att nämna @'localhost' sträng vi använde för att skapa användaren. Detta talar om för MySQL att användaren endast kan ansluta från localhost. Vilket är bra när man testar saker och när alla program som ansluter till MySQL körs på samma dator som kör DBMS.

När detta inte är sant måste du antingen manuellt ange IP-adressen som användaren ska ansluta från eller använda % jokertecken:

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

Jag vill stänga den här handledningen genom att visa hur man tar bort användaren vi skapade:

DROP USER 'test_user'@'localhost';

  1. Hur man ändrar kolumner eller genererar Alter-skript genom att använda GUI i SQL Server - SQL Server / T-SQL självstudie del 38

  2. SQL Server Collection Inventory Script -3

  3. En översikt över ProxySQL-klustring i ClusterControl

  4. PHP/MySQL infoga rad och få 'id'