[mysql] MySQL의 커맨드 라인을 사용하여 사용자 계정 목록을 얻는 방법은 무엇입니까?

MySQL 명령 줄 유틸리티를 사용하고 있으며 데이터베이스를 탐색 할 수 있습니다. 이제 사용자 계정 목록이 필요합니다. 어떻게해야합니까?

MySQL 버전을 사용하고 5.4.1있습니다.



답변

이 쿼리를 사용하십시오.

SELECT User FROM mysql.user;

다음과 같은 테이블이 출력됩니다.

+-------+
| User  |
+-------+
| root  |
+-------+
| user2 |
+-------+

Matthew Scharley 가이 답변에 대한 의견에서 지적한User 것처럼 고유 한 사용자 이름 만 보려면 열 별로 그룹화 할 수 있습니다 .


답변

이 형식은 MySQL에서 사용자 레코드를 구별하는 데 중요한 호스트 필드를 포함하므로 가장 유용한 형식입니다.

select User,Host from mysql.user;


답변

사용자 계정은 사용자 이름과 호스트 수준 액세스로 구성됩니다.

따라서 이것은 모든 사용자 계정을 제공하는 쿼리입니다.

SELECT CONCAT(QUOTE(user),'@',QUOTE(host)) UserAccount FROM mysql.user;


답변

사용자가 다른 출처에서 연결할 때 반복되는 것을 피하려면 :

select distinct User from mysql.user;


답변

MySQL은 사용자 정보를 자체 데이터베이스에 저장합니다. 데이터베이스 이름은입니다 MySQL. 해당 데이터베이스 내에서 사용자 정보는 데이터 셋이라는 이름의 테이블에 user있습니다. MySQL 사용자 테이블에서 어떤 사용자가 설정되어 있는지 보려면 다음 명령을 실행하십시오.

SELECT User, Host FROM mysql.user;

+------------------+-----------+
| User             | Host      |
+------------------+-----------+
| root             | localhost |
| root             | demohost  |
| root             | 127.0.0.1 |
| debian-sys-maint | localhost |
|                  | %         |
+------------------+-----------+


답변

실제 MySQL 사용자를 언급하는 경우 다음을 시도하십시오.

select User from mysql.user;


답변

SELECT * FROM mysql.user;

큰 테이블이므로 선택한 필드를 더 선택적으로 사용할 수 있습니다.