source

MySQL 명령줄을 사용하여 사용자 계정 목록을 가져오려면 어떻게 해야 합니까?

factcode 2022. 9. 27. 23:47
반응형

MySQL 명령줄을 사용하여 사용자 계정 목록을 가져오려면 어떻게 해야 합니까?

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

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

다음 쿼리를 사용합니다.

SELECT User FROM mysql.user;

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

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

Matthew Scharley가 이 답변의 코멘트에서 지적한 바와 같이, 당신은 다음과 같이 그룹화할 수 있습니다.User원하는 사용자 이름만 보려면 column을 클릭합니다.

이 형식은 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. 이 데이터베이스 내에는 사용자 정보가 테이블, 데이터셋에 저장되어 있습니다.userMySQL 사용자 테이블에 어떤 사용자가 설정되어 있는지 확인하려면 다음 명령을 실행합니다.

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;

테이블이 크기 때문에 선택하는 필드를 좀 더 신중하게 선택하는 것이 좋습니다.

루트로 MySQL에 로그인하고 다음 쿼리를 입력합니다.

select User from mysql.user;

+------+
| User |
+------+
| amon |
| root |
| root |
+------+

사용자 권한을 결정할 때 mysql.db 테이블이 더 중요할 수 있습니다.GRANT 명령어로 표를 언급하면 엔트리가 생성된다고 생각합니다.제 경우 mysql.users 테이블은 접속 및 선택 등이 가능한 사용자에게 권한이 표시되지 않았습니다.

mysql> select * from mysql.db;
mysql> select * from db;
+---------------+-----------------+--------+-------------+-------------+-------------+--------
| Host          | Db              | User   | Select_priv | Insert_priv | Update_priv | Del...

이를 사용하여 사용자를 정렬하므로 허용된 호스트를 보다 쉽게 찾을 수 있습니다.

mysql> SELECT User,Host FROM mysql.user ORDER BY User,Host;

Peter와 Jesse는 맞지만 먼저 "mysql" 데이터베이스를 선택하십시오.

use mysql;
select User from mysql.user;

그걸로 충분할 거야.

원하는 사용자 목록이 표시됩니다.

SELECT DISTINCT User FROM mysql.user;
$>  mysql -u root -p -e 'Select user from mysql.user' > allUsersOnDatabase.txt

Linux 명령줄 프롬프트에서 이 명령을 실행하면 먼저 MySQL 루트 사용자의 암호를 입력해야 합니다.올바른 암호를 입력하면 모든 데이터베이스 사용자가 텍스트 파일로 인쇄됩니다.

DML 및 DDL 권한에 대한 추가 정보를 제공하므로 그의 것이 더 유용하다는 것을 알게 되었습니다.

SELECT user, Select_priv, Insert_priv , Update_priv, Delete_priv, 
       Create_priv, Drop_priv, Shutdown_priv, Create_user_priv 
FROM mysql.user;
SELECT User FROM mysql.user;

위의 쿼리를 사용하여 MySQL 사용자를 가져옵니다.

사용자를 표시하려면 mysql 데이터베이스를 사용합니다.

USE mysql;

그리고 선택을 하세요.

SELECT user,host FROM user;

다른 옵션은 BD를 넣는 것입니다.테이블

예를 들어 다음과 같습니다.

SELECT user,host FROM mysql.user;

언급URL : https://stackoverflow.com/questions/1135245/how-can-i-get-a-list-of-user-accounts-using-the-command-line-in-mysql

반응형