저는 MySQL 명령줄 유틸리티를 사용하고 있으며 데이터베이스를 탐색할 수 있습니다. 이제 사용자 계정 목록을 확인해야 합니다. 어떻게 해야 하나요?
MySQL 버전 5.4.1을 사용하고 있습니다.
질문자 :burntsugar
저는 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;
테이블이 크므로 선택하는 필드를 더 선택적으로 지정할 수 있습니다.
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 사용자를 가져옵니다.
출처 : http:www.stackoverflow.com/questions/1135245/how-can-i-get-a-list-of-user-accounts-using-the-command-line-in-mysql
한 사용자의 커밋에 대한 git 로그를 보려면 어떻게 해야 합니까? (0) | 2022.07.06 |
---|---|
APK 파일에서 소스 코드를 얻는 방법이 있습니까? (0) | 2022.07.06 |
UnicodeEncodeError: 'ascii' 코덱은 위치 20의 u'\xa0' 문자를 인코딩할 수 없습니다: 서수가 범위(128)에 없음 (0) | 2022.07.06 |
특정 커밋에 대한 Git 패치를 생성하려면 어떻게 해야 합니까? (0) | 2022.07.06 |
객체에 대한 map 함수(배열 대신) (0) | 2022.07.06 |