답변:
이 쿼리를 사용하십시오.
SELECT User FROM mysql.user;
다음과 같은 테이블이 출력됩니다.
+-------+
| User |
+-------+
| root |
+-------+
| user2 |
+-------+
Matthew Scharley 가이 답변에 대한 의견에서 지적한User
것처럼 고유 한 사용자 이름 만 보려면 열 별로 그룹화 할 수 있습니다 .
User
각 user
@ host
항목 마다 별도의 행이 있기 때문에 고유 한 사용자 값만 얻으려면 그룹화해야 할 수도 있습니다 .
DELETE FROM mysql.user;
더 나은 WHERE user='someuser' and host='somehost';
경우 DELETE FROM mysql.user;
모든 사용자가 사라집니다. 다음 mysql 후에 로그인하면 FLUSH PRIVILEGES;
메모리에서 사용자가 제거 되거나 제거됩니다. 다음은 DELETE FROM mysql.user
책임감있게 수행 하는 게시물 중 하나의 예입니다 . dba.stackexchange.com/questions/4614/…
SHOW GRANTS FOR 'user'@'host';
DISTINCT
키워드를 사용할 수 있습니다 .SELECT DISTINCT user FROM mysql.user;
이 형식은 MySQL에서 사용자 레코드를 구별하는 데 중요한 호스트 필드를 포함하므로 가장 유용한 형식입니다.
select User,Host from mysql.user;
host
mysql 데이터베이스로 작업 할 때 이것이 언제 작동합니까? [Mysql Noob]
host
다른 서버에서 연결할 때 작동합니다. 서로 다른 액세스 권한을 부여 할 수 'packer'@'example.com'
와'packer'@'google.com'
사용자 계정은 사용자 이름과 호스트 수준 액세스로 구성됩니다.
따라서 이것은 모든 사용자 계정을 제공하는 쿼리입니다.
SELECT CONCAT(QUOTE(user),'@',QUOTE(host)) UserAccount FROM mysql.user;
user@host
형식은 비밀번호 설정에 사용됩니다. SET PASSWORD
명령 에서 호스트를 생략하면 오류가 발생합니다. SET PASSWORD FOR wordpressuser = PASSWORD('...');
오류가 발생 ERROR 1133 (42000): Can't find any matching row in the user table
합니다. 호스트를 포함하면 작동합니다. SET PASSWORD FOR wordpressuser@localhost = PASSWORD('...');
생산합니다 Query OK, 0 rows affected (0.00 sec)
.
ORDER BY 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 |
| | % |
+------------------+-----------+
SELECT * FROM mysql.user;
큰 테이블이므로 선택한 필드를 더 선택적으로 사용할 수 있습니다.
localhost
, 127.0.0.1
및 ::1
. 어느 것을 유지하고 무엇을 삭제해야합니까? 감사!
루트로 mysql에 로그인하고 다음 쿼리를 입력하십시오.
select User from mysql.user;
+------+
| User |
+------+
| amon |
| root |
| root |
+------+
GRANT SELECT ON mysql.user TO 'user1'@'localhost';
로그인 한 후 type command를 입력 select User from mysql.user;
하십시오. user1로 로그인하고 command를 입력 하십시오. 사용자 목록이 표시됩니다. :) +1 Enjoy
mysql.db 테이블은 사용자 권한을 결정하는 데 더 중요 할 수 있습니다. GRANT 명령에서 테이블을 언급하면 그 항목이 생성된다고 생각합니다. 필자의 경우 mysql.users 테이블에는 분명히 연결하고 선택할 수있는 사용자에게 권한이 표시되지 않았습니다.
mysql> select * from mysql.db;
mysql> select * from db;
+---------------+-----------------+--------+-------------+-------------+-------------+--------
| Host | Db | User | Select_priv | Insert_priv | Update_priv | Del...
Peter와 Jesse는 정확하지만 먼저 mysql DB를 선택해야합니다.
use mysql;
select User from mysql.user;
그 트릭을해야합니다
use mysql;
테이블을 mysql 데이터베이스로 범위를 지정하는 경우 필요 하지 않습니다 . 당신은 단지select User from mysql.user;
use mysql;
는 단지 일회성 쿼리이기 때문에 select User from user;
대신 사용할 수 있도록 하는 select User from mysql.user;
것입니다. mysql db를 사용할 필요가 없습니다
use mysql
당신이 사용했던 경우 select user from user;
보다 뭔가 수 있었다, 대신에 당신이 사용하고 mysql.user
사용하게하는 use mysql
시작 불필요한에서.
$> mysql -u root -p -e 'Select user from mysql.user' > allUsersOnDatabase.txt
Linux 프롬프트에서이 명령을 실행하면 먼저 mysql 루트 사용자의 비밀번호를 요청하고 올바른 비밀번호를 제공하면 모든 데이터베이스 사용자를 텍스트 파일로 인쇄합니다.