05 lip

Jak utworzyć nowego użytkownika z odpowiednimi uprawnieniami w MySQL

Jak utworzyć użytkownika w MySQL

MySQL – ogólnodostępny system zarządzania relacyjnymi bazami danych, który pomaga użytkownikom przechowywać, uporządkowywać i później pobierać dane. Ma on wiele opcji dla nadawania praw określonym użytkownikom za pomocą tabeli i baz danych. W tym tutorialu przedstawione są kilka z wiele opcji.

Co oznaczają linie na czerwono?

Linie, które użytkownik musi wprowadzić sam albo dostosować je – będą zaznaczone na czerwono! Pozostałe, prawie wszystkie polecenia, mogą być skopiowane.

Jak utworzyć nowego użytkownika MySQL

Rozpocznijmy z tworzenia nowego użytkownika przez polecenia w MySQL:
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

Niestety, w tym miejscu nowy użytkownik nie jest upoważniony do wniesienia jakichkolwiek zmian w bazę danych. W rzeczywistości, jeśli nowy użytkownik próbuje się zalogować (z hasłem password), nie będzie on mógł dostać się do linii poleceń MySQL.

Dlatego, najpierw trzeba zapewnić użytkownikowi dostęp do informacji, do której będzie chciał się dostać.
GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';

Gwiazdki w tym poleceniu odnoszą się do bazy danych oraz tabeli (odpowiednio), do których mają dostęp. Ta komenda pozwala użytkownikowi odczytywać, edytować, wykonywać wszystkie zadania we wszystkich bazach danych i tabelach.

Sprawdź nasz hosting już od 4.17 zł/mies. lub TurboVPS oparty o procesory z częstotliwością do 5 GHz z darmowym premium wsparciem 24/7 od naszych administratorów! Z kodem RABATNABLOG dostaniesz dodatkowy rabat 15% przy pierwszej płatności.

Kiedy skończysz z uprawieniami, które chcesz konfigurować pod swoich nowych użytkowników, upewnij się, że ponownie załadowałeś wszystkie przywileje.
FLUSH PRIVILEGES;

Twoje zmiany już weszły w życie.

Jak dodać uprawnienia do użytkownika

Oto krótka lista innych możliwych uprawień, z których użytkownicy mogą korzystać.

  • ALL PRIVILEGES – jak widzieliśmy wcześniej, te uprawienie umożliwi użytkownikom MySQL dostęp do całej bazy danych
  • CREATE – pozwala tworzyć tabele i bazy danych
  • DROP – pozwala usuwać tabele i bazy danych
  • DELETE – pozwala usuwać wierszy z tabel
  • INSERT – pozwala wklejać wierszy w tabele
  • SELECT – pozwala używać komendy Select do odczytywania zawartości bazy danych
  • UPDATE – pozwala aktualizować wiersze w tabelach
  • GRANT OPTION – pozwala nadawać lub pozbawić przywilej innych użytkowników

Żeby upoważnić określonego użytkownika, możesz wykorzystać tę komendę:
GRANT [uprawnienie] ON [nazwa bazy danych].[nazwa tabeli] TO ‘[username]’@'localhost’;

Jeżeli chcesz nadać im dostęp do każdej bazy danych czy tabeli, wpisz gwiazdkę (*) w miejscu nazwy bazy danych lub tabeli.

Każdego razu, gdy aktualizujesz albo zmieniasz uprawnienia, używaj komendę Flush Privileges.

Jeśli chcesz cofnąć uprawnienia – polecenie jest prawie identyczne do ich udzielenia:
REVOKE [uprawnienie] ON [nazwa bazy danych].[nazwa tabeli] FROM ‘[username]’@‘localhost’;

Za pomocą komendy DROP możesz usunąć nie tylko bazę danych, ale i użytkownika:
DROP USER ‘demo’@‘localhost’;

Żeby sprawdzić nowego użytkownika – wyloguj się, wpisując
quit

Potem zaloguj się ponownie za pomocą tej komendy w terminalu:

mysql -u [login] -p