Jak utworzyć nowego użytkownika i udzielić uprawnień w MySQL

Jak utworzyć nowego użytkownika i udzielić uprawnień w MySQL

Mysql jest popularnym i szeroko stosowanym systemem zarządzania bazą danych, który przechowuje i organizuje dane oraz pozwala użytkownikom je odzyskać. Jest wyposażony w szeroką gamę opcji, które dają użytkownikom pewne uprawnienia do tabel i baz danych.

W tym przewodniku dowiesz się, jak utworzyć nowego użytkownika i udzielić uprawnień w Mysql Baza danych.

Jak utworzyć nowego użytkownika w MySQL

Aby utworzyć nowego użytkownika zaloguj się do powłoki MySQL.

$ sudo mysql -u root -p 

Podaj hasło sudo, a następnie hasło podane podczas konfigurowania bazy danych MySQL i naciśnij WCHODZIĆ. Następnie otrzymasz ten monit.

Połącz się z powłoką MySQL

Aby utworzyć nowego użytkownika, użyj składni pokazanej poniżej:

Mariadb [brak]> Utwórz użytkownika 'nowy użytkownik„@„ localHost ”zidentyfikowane przez 'hasło';; 

Na przykład, aby utworzyć nowego użytkownika o nazwie 'Tecmint„W bazie danych wywołaj polecenie:

Mariadb [brak]> Utwórz użytkownika 'Tecmint„@„ localHost ”zidentyfikowane przez 'QKYKMW 5TEC';; 

Kilka punktów, o których należy pamiętać

Podczas dodawania użytkownika lokalnie ja.mi., w systemie, który zainstalowałeś Mysql, host użytkownika jest określony jako Lokalny Gospodarz, a nie adres IP. Słowo kluczowe 'Lokalny Gospodarz' przetłumaczyć na 'ten komputer„Mysql traktuje to wyjątkowo. Zasadniczo LocalHost jest używany przez klienta MySQL do nawiązania połączenia z lokalnie zainstalowanym serwerem bazy danych MySQL.

Jak dotąd, Tecmint Użytkownik nie ma żadnych uprawnień do interakcji z bazami danych. W rzeczywistości użytkownik nie może nawet uzyskać dostępu do powłoki MySQL.

Aby zapewnić użytkownikowi pełny dostęp do wszystkich baz danych, w tym tabele, uruchom.

Mariadb [Brak]> Uznacz wszystkie przywileje na * . * DO 'Tecmint'@'Lokalny Gospodarz'; 

W powyższym poleceniu gwiazdki wskazują odpowiednio na bazę danych i tabelę, do której użytkownik może uzyskać dostęp. Daje użytkownikowi wszystkie prawa do bazy danych - Czytać, pisać, edytować, I wykonać w tym wykonywanie wszystkich zadań w innych bazach danych i tabelach.

Do tej pory przyznaliśmy użytkownikowi pełny dostęp do bazy danych. Chociaż jest to przydatne w wyjaśnianiu koncepcji MySQL, ogólnie nie jest to zalecane, ponieważ może stanowić ryzyko bezpieczeństwa dla twoich baz danych. Pomyśl tylko, co może się stać, jeśli haker dostał hasło użytkownika. Postępujemy dalej i omówimy, jak przypisać określone uprawnienia w następnym rozdziale.

Po zakończeniu przypisywania uprawnień do użytkownika, ponownie załaduj wszystkie uprawnienia, jak pokazano zmiany, które mogą się skutkować.

Mariadb [Brak]> Przywileje spłukające 

Jak przyznać różne uprawnienia użytkownika

Oto podział możliwych uprawnień, które możesz udzielić użytkownikom:

  • Wszystkie przywileje - Jak wcześniej widziano, zapewnia to pełny dostęp użytkownika MySQL do określonej bazy danych.
  • TWORZYĆ - Pozwala użytkownikom tworzyć nowe bazy danych lub tabele.
  • UPUSZCZAĆ - Umożliwia użytkownikom usuwanie baz danych lub użytkowników.
  • WSTAWIĆ - Umożliwia użytkownikom wstawienie wierszy w tabelach.
  • USUWAĆ - Umożliwia użytkownikom usuwanie wierszy z tabel.
  • WYBIERAĆ - Za zgodą „Wybierz” użytkownicy mogą odczytać zawartość tabeli.
  • AKTUALIZACJA - Umożliwia użytkownikom aktualizowanie wierszy w tabeli.
  • Opcja dotacji - Użytkownicy mogą przyznać lub usunąć uprawnienia innych użytkowników.

Aby udzielić konkretnej zgody użytkownika, użyj składni:

Mariadb [Brak]> Dotacja uprawnienia_type na nazwie bazy danych.TABLE_NAME do „Nazwa użytkownika”@„localHost”; 

Dodatkowo możesz przypisać uprawnienia do wszystkich tabel w bazie danych z jednym symbolem gwiazdkową, jak pokazano:

Mariadb [Brak]> Dotacja uprawnienia_type na nazwie bazy danych.* Do „nazwa użytkownika”@„localHost”; 

Na przykład, aby przypisać WYBIERAĆ uprawnienia do 'Tecmint„Użytkownik we wszystkich tabelach bazy danych testdb, Uruchom polecenie.

Mariadb [Brak]> dotacja Wybierz na testDB.* Do „Tecmint”@„localHost”; 

Następnie spłucz uprawnienia do zmian.

Mariadb [Brak]> uprawnienia spłukające; 
Przypisz uprawnienia Wybierz do użytkownika w bazie danych

Dodatkowo możesz przypisać wiele uprawnień przy Go, oddzielając je przecinkiem, jak pokazano.

Mariadb [Brak]> dotacja WSTAWIĆ, AKTUALIZACJA NA testdb.* DO 'Tecmint'@'Lokalny Gospodarz'; 
Przypisz wiele uprawnień do bazy danych

Jak odwołać uprawnienia MySQL

Aby odwołać uprawnienia od użytkownika, użyj składni:

Mariadb [brak]> cofnij Zezwolenie_type NA nazwa_basu danych.Nazwa tabeli Z „nazwa użytkownika”@„localHost”; 

Na przykład, aby odwołać WSTAWIĆ uprawnienia od użytkownikaTecmint- Uruchom polecenie.

Mariadb [brak]> cofnij WSTAWIĆ NA testdb.* Z Tecmint '@' localHost '; Mariadb [Brak]> Przywileje spłukające 
Odwołuj uprawnienia MySQL

Aby rzucić okiem na bieżące uprawnienia użytkownika, wykonaj:

Mariadb [Brak]> Pokaż dotacje dla „nazwy użytkownika”@„localHost”; 

Na podstawie wyjścia poniżej widzimy, że WSTAWIĆ Zezwolenie zostało zniesione z 'Tecmint„Użytkownik tylko opuszcza WYBIERAĆ I AKTUALIZACJA prawa do testdb Baza danych.

Sprawdź uprawnienia użytkownika MySQL

Aby przetestować logowanie do powłoki MySQL za pomocą nowego użytkownika, najpierw wyloguj się.

Mariadb [Brak]> rzucić; 

Następnie zaloguj się ponownie.

$ sudo mysql -u tecMint -p 

Podaj hasło użytkownika i naciśnij WCHODZIĆ Aby uzyskać dostęp do skorupy.

Aby upuścić użytkownika, użyj UPUSZCZAĆ polecenie, tak jak podczas usuwania bazy danych.

Mariadb [brak]> upuść użytkownik „nazwa użytkownika”@„localHost”; 

Możesz także przeczytać następujące artykuły związane z MySQL:

  • Przydatne wskazówki dotyczące rozwiązywania problemów typowych błędów w MySQL
  • Mytop - przydatne narzędzie do monitorowania wydajności MySQL/MariaDB w Linux
  • Jak zmienić domyślny port MySQL/Mariadb w Linux
  • Jak zresetować hasło root MySQL lub Mariadb w Linux
Wniosek

Mamy nadzieję, że do tej pory możesz tworzyć użytkowników na swoich serwerach bazy danych MySQL i wygodnie przypisać lub cofnąć uprawnienia.