기계적 인조 인간

mysql에서 사용자를 표시 / 나열하는 방법

NONSTOP VINAHOUSE 2020 - TIKTOK CÓ PHẢI ANH ĐANG TRÊU ĐÙA EM ĐẤY KHÔNG - NHẠC TIK TOK REMIX 2020

NONSTOP VINAHOUSE 2020 - TIKTOK CÓ PHẢI ANH ĐANG TRÊU ĐÙA EM ĐẤY KHÔNG - NHẠC TIK TOK REMIX 2020

차례:

Anonim

MySQL 서버의 모든 사용자 목록을 가져와야합니까? 데이터베이스 및 테이블을 표시하는 명령이 있지만 MySQL show users 명령은 없습니다.

이 튜토리얼은 명령 행을 통해 MySQL 데이터베이스 서버의 모든 사용자 계정을 나열하는 방법을 설명합니다. 또한 특정 데이터베이스에 액세스 할 수있는 사용자를 찾는 방법을 보여줍니다.

시작하기 전에

시스템에 이미 MySQL 또는 MariaDB 서버가 설치되어 있다고 가정합니다.

모든 명령은 MySQL 셸 내에서 루트 사용자로 실행됩니다. MySQL 쉘에 액세스하려면 다음 명령을 입력하고 프롬프트가 표시되면 MySQL 루트 사용자 비밀번호를 입력하십시오.

mysql -u root -p MySQL 루트 비밀번호를 잊어 버린 경우 다음 지시 사항에 따라 비밀번호를 재설정 할 수 있습니다.

모든 MySQL 사용자 표시

MySQL은 사용자에 대한 정보를 mysql 데이터베이스의 user 라는 테이블에 저장합니다.

모든 MySQL 사용자 계정 목록을 얻으려면 SELECT 문을 사용하여 mysql.users 테이블에서 모든 행을 검색하십시오.

SELECT User, Host FROM mysql.user;

출력은 아래와 비슷해야합니다.

+------------------+-----------+ | user | host | +------------------+-----------+ | root | localhost | | luke | % | | yoda | % | | jabba | 10.10.0.6 | | jabba | 10.10.0.9 | | chewbacca | localhost | | leia | localhost | | han | localhost | +------------------+-----------+ 8 rows in set (0.00 sec)

위의 명령은 mysql.user 테이블 ( User Host )에서 두 개의 열만 표시합니다.이 테이블에는 Password , Select_priv , Update_priv 등과 같은 40 개 이상의 열이 있습니다.

MySQL의 사용자 계정은 사용자 이름과 호스트 이름의 두 부분으로 구성됩니다.

desc mysql.user; 사용하십시오 desc mysql.user; 테이블 열에 대한 정보를 표시합니다. 열 이름을 알고 나면 선택한 데이터에 대해 쿼리를 실행할 수 있습니다.

예를 들어, 암호에 대한 정보와 암호의 활성 여부를 포함한 모든 MySQL 사용자 계정 목록을 얻으려면 다음 쿼리를 사용합니다.

SELECT User, Host, Password, password_expired FROM mysql.user;

+----------------+-----------+-------------------------------------------+------------------+ | User | Host | Password | password_expired | +----------------+-----------+-------------------------------------------+------------------+ | root | localhost | | N | | luke | % | *ADC3B5B27617732CD6320A2DA976258E149A7EC8 | N | | yoda | % | *9550E004046348198A143A115550E1262209FB6F | N | | jabba | 10.10.0.6 | *F91C86B486B945C083B61A05FF6E197560D187EC | Y | | jabba | 10.10.0.9 | | Y | | chewbacca | localhost | *17F2B1E48029294841AD66772BEBB7E6E6A005AF | N | | leia | localhost | *74409C8DB55AC1A6829D801915981C46EDBFC64A | N | | han | localhost | *7B3022FCAEC3534CE67C68322D8AF0C240D95745 | N | +----------------+-----------+-------------------------------------------+------------------+ 8 rows in set (0.00 sec)

특정 데이터베이스에 액세스 할 수있는 사용자 표시

데이터베이스 레벨 권한에 대한 정보는 mysql.db 테이블에 저장됩니다.

테이블을 쿼리하여 지정된 데이터베이스에 대한 액세스 권한이있는 사용자와 권한 수준을 확인할 수 있습니다.

예를 들어 db_name 이라는 데이터베이스에 어느 정도 액세스 할 수있는 모든 사용자 목록을 얻으려면 다음 쿼리를 사용합니다.

SELECT * FROM mysql.db WHERE Db = 'db_name'\G;

*************************** 1. row *************************** Host: localhost Db: db_name User: db_user Select_priv: Y Insert_priv: Y Update_priv: Y Delete_priv: Y Create_priv: Y Drop_priv: Y Grant_priv: N References_priv: Y Index_priv: Y Alter_priv: Y Create_tmp_table_priv: Y Lock_tables_priv: Y Create_view_priv: Y Show_view_priv: Y Create_routine_priv: Y Alter_routine_priv: Y Execute_priv: Y Event_priv: Y Trigger_priv: Y 1 row in set (0.00 sec)

권한을 표시하지 않고 주어진 데이터베이스에 액세스 할 수있는 사용자 계정에 대한 정보 만 가져 오려면 다음을 사용하십시오.

SELECT db, host, user FROM mysql.db WHERE db = 'db_name'

+---------+-----------+---------+ | db | host | user | +---------+-----------+---------+ | db_name | localhost | db_user | +---------+-----------+---------+

다음 쿼리는 모든 데이터베이스 및 관련 사용자에 대한 정보를 보여줍니다.

SELECT db, host, user FROM mysql.db WHERE db = 'db_name'

+------------------+-----------+-----------+ | db | host | user | +------------------+-----------+-----------+ | db_name | localhost | db_user | | ghost_production | localhost | chewbacca | | blog_db | localhost | leia | | linuxize | localhost | han | +------------------+-----------+-----------+

결론

이 튜토리얼에서는 모든 MySQL 사용자 목록을 얻고 특정 데이터베이스에 액세스 할 수있는 사용자를 찾는 방법을 보여주었습니다.

궁금한 점이 있으면 언제든지 의견을 남겨주십시오.

MySQL MariaDB