Android

Jak tworzyć konta użytkowników mysql i nadawać uprawnienia

Kurs SQL 20: Nadawanie i odbieranie uprawnień systemowych.

Kurs SQL 20: Nadawanie i odbieranie uprawnień systemowych.

Spisu treści:

Anonim

MySQL jest najpopularniejszym systemem zarządzania relacyjnymi bazami danych typu open source. Serwer MySQL pozwala nam tworzyć liczne konta użytkowników i udzielać odpowiednich uprawnień, aby użytkownicy mogli uzyskiwać dostęp do baz danych i zarządzać nimi.

W tym samouczku opisano sposób tworzenia kont użytkowników MySQL i przyznawania uprawnień.

Zanim zaczniesz

Zakładamy, że masz już serwer MySQL lub MariaDB zainstalowany w systemie.

Wszystkie polecenia są wykonywane w powłoce MySQL jako użytkownik root lub użytkownik administracyjny. Minimalne uprawnienia wymagane do utworzenia kont użytkowników i zdefiniowania ich uprawnień to CREATE USER i GRANT .

Aby uzyskać dostęp do powłoki MySQL, wpisz następującą komendę i po wyświetleniu monitu wprowadź hasło użytkownika root MySQL:

mysql -u root -p

Utwórz nowe konto użytkownika MySQL

Konto użytkownika w MySQL składa się z nazwy użytkownika i części nazwy hosta.

Aby utworzyć nowe konto użytkownika MySQL, uruchom następujące polecenie:

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'user_password'; Zastąp symbol zastępczy newuser swoją zamierzoną nową nazwą użytkownika, a symbol zastępczy user_password hasłem użytkownika.

W powyższym poleceniu część nazwy hosta jest ustawiona na localhost , co oznacza, że ​​użytkownik będzie mógł połączyć się z serwerem MySQL tylko z localhost (tj. Z systemu, w którym działa serwer MySQL).

Aby przyznać dostęp z innego hosta, zmień część nazwy hosta ( localhost ) za pomocą adresu IP zdalnego komputera. Na przykład, aby udzielić dostępu z komputera o IP 10.8.0.5 , uruchomiłbyś:

CREATE USER 'newuser'@'10.8.0.5' IDENTIFIED BY 'user_password';

Aby utworzyć użytkownika, który może łączyć się z dowolnego hosta, użyj symbolu wieloznacznego '%' jako części hosta:

CREATE USER 'newuser'@'%' IDENTIFIED BY 'user_password';

Przyznaj uprawnienia do konta użytkownika MySQL

Istnieje wiele rodzajów przywilejów, które można nadać kontu użytkownika. Pełną listę uprawnień obsługiwanych przez MySQL można znaleźć tutaj.

Najczęściej używane uprawnienia to:

  • ALL PRIVILEGES - przyznaje wszystkie uprawnienia do konta użytkownika. CREATE - Konto użytkownika może tworzyć bazy danych i tabele. DROP - konto użytkownika może usuwać bazy danych i tabele. DELETE - konto użytkownika może usuwać wiersze z określonej tabeli. INSERT - Konto użytkownika może wstawiać wiersze do określonej tabeli. SELECT - Konto użytkownika może czytać bazę danych. UPDATE - Konto użytkownika może aktualizować wiersze tabeli.

Aby przyznać określone uprawnienia do konta użytkownika, możesz użyć następującej składni:

GRANT permission1, permission2 ON database_name.table_name TO 'database_user'@'localhost';

Oto kilka przykładów:

  • Nadaj wszystkie uprawnienia do konta użytkownika w określonej bazie danych:

    GRANT ALL PRIVILEGES ON database_name.* TO 'database_user'@'localhost';

    Przyznaj wszystkie uprawnienia do konta użytkownika we wszystkich bazach danych:

    GRANT ALL PRIVILEGES ON *.* TO 'database_user'@'localhost';

    Nadaj wszystkie uprawnienia do konta użytkownika nad określoną tabelą z bazy danych:

    GRANT ALL PRIVILEGES ON database_name.table_name TO 'database_user'@'localhost';

    Przyznaj wiele uprawnień do konta użytkownika za pośrednictwem określonej bazy danych:

    GRANT SELECT, INSERT, DELETE ON database_name.* TO database_user@'localhost';

Wyświetl uprawnienia do konta użytkownika MySQL

Aby znaleźć uprawnienia przyznane dla konkretnego konta użytkownika MySQL, użyj instrukcji SHOW GRANTS :

SHOW GRANTS FOR 'database_user'@'localhost';

+---------------------------------------------------------------------------+ | Grants for database_user@localhost | +---------------------------------------------------------------------------+ | GRANT USAGE ON *.* TO 'database_user'@'localhost' | | GRANT ALL PRIVILEGES ON `database_name`.* TO 'database_user'@'localhost' | +---------------------------------------------------------------------------+ 2 rows in set (0.00 sec)

Cofnij uprawnienia z konta użytkownika MySQL

Składnia odwołania jednego lub więcej uprawnień z konta użytkownika jest prawie identyczna jak w przypadku przyznawania uprawnień.

Na przykład, aby odwołać wszystkie uprawnienia z konta użytkownika w określonej bazie danych, użyj następującego polecenia:

REVOKE ALL PRIVILEGES ON database_name.* FROM 'database_user'@'localhost';

Usuń istniejące konto użytkownika MySQL

Aby usunąć konto użytkownika MySQL, użyj instrukcji DROP USER :

DROP USER 'user'@'localhost'

Powyższe polecenie spowoduje usunięcie konta użytkownika i jego uprawnień.

Wniosek

Ten samouczek obejmuje tylko podstawy, ale powinien być dobrym początkiem dla każdego, kto chce nauczyć się tworzyć nowe konta użytkowników MySQL i nadawać uprawnienia.

mysql mariadb