Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Tworzenie użytkownika w MySQL

Zaraz po zainstalowaniu MySQL będziesz miał root dostępny użytkownik.

To jest użytkownik, którego możesz użyć, aby sprawdzić, czy MySQL działa, ale nie powinien to być użytkownik do innych zastosowań.

Czemu? Ponieważ jest zbyt potężny .

Z wielką mocą wiąże się wielka odpowiedzialność (powiedział wujek Spider-Mana). A w szczególności wielkie niebezpieczeństwo, jeśli popełnisz błędy.

Zamiast tego powinieneś tworzyć użytkowników ad hoc, którzy mają tylko uprawnienia do wykonywania swojej pracy i nie więcej. To samo w przypadku korzystania z Linuksa lub dowolnego systemu Unix, na przykład:nie chcesz używać root użytkownika, ale Twoje własne konto użytkownika.

Aby utworzyć nowego użytkownika, połącz się z MySQL za pomocą root użytkownik:

mysql -u root -p

następnie użyj polecenia

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

Na przykład, aby utworzyć użytkownika o nazwie test_user z hasłem test_password12A uruchom polecenie:

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

Polecenie powinno zwrócić linię o treści Query OK, 0 rows affected (X.XX sec) :

Jeśli użyłeś nieprawidłowego hasła, system powie ci coś w stylu ERROR 1819 (HY000): Your password does not satisfy the current policy requirements . W tym przypadku błąd mówi, że hasło nie jest wystarczająco złożone, ponieważ po zainstalowaniu MySQL powiedziałem mu, aby używał określonej polityki haseł.

To wspaniale! Teraz użytkownik został utworzony i możemy połączyć się za jego pomocą z MySQL. Z wiersza poleceń możesz wyjść, wpisując QUIT i wpisując:

mysql -u test_user -p

Teraz, gdy próbuję utworzyć bazę danych, otrzymuję błąd mówiący ERROR 1044 (42000): Access denied for user 'test_user'@'localhost' to database 'testing' :

Czemu? Ponieważ użytkownik nie ma uprawnień do tworzenia nowej bazy danych .

Zobaczymy, jak pracować z uprawnieniami w innym samouczku.

Warto wspomnieć o @'localhost' ciąg, którego użyliśmy do stworzenia użytkownika. To mówi MySQL, że użytkownik może łączyć się tylko z hosta lokalnego. Co jest w porządku podczas testowania rzeczy i gdy jakakolwiek aplikacja, która połączy się z MySQL, działa na tym samym komputerze, na którym działa DBMS.

Jeśli to nieprawda, musisz ręcznie wprowadzić adres IP, z którego użytkownik będzie się łączyć, lub użyć % symbol wieloznaczny:

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

Chcę zamknąć ten samouczek, pokazując, jak usunąć utworzonego użytkownika:

DROP USER 'test_user'@'localhost';

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zmienić domyślny port MySQL/MariaDB w systemie Linux?

  2. FORMAT() Przykłady w MySQL

  3. Błąd krytyczny:wywołanie niezdefiniowanej funkcji session_register()

  4. Jak ustawić wybraną pozycję w rozwijanym polu?

  5. Zapytanie SQL zwraca dane z wielu tabel