it-swarm-ko.tech

어떤 MySQL 사용자가 데이터베이스에 액세스 할 수 있습니까?

어떤 MySQL 사용자가 데이터베이스에 액세스 할 수 있고 어떤 권한을 가지고 있는지 어떻게 알 수 있습니까?

"권한"을 클릭하면 phpMyAdmin에서이 정보를 얻을 수있는 것 같습니다. . .

                 Users having access to "mydatabase"
User     Host       Type               Privileges              Grant
myuser1  %          database-specific  ALL PRIVILEGES          Yes
root     localhost  global             ALL PRIVILEGES          Yes
myuser2  %          database-specific  SELECT, INSERT, UPDATE  No

. . . 그러나 명령 줄 에서이 쿼리를 수행하는 방법을 알고 싶습니다.

(phpMyAdmin은 종종 실행중인 명령의 SQL 구문을 보여 주지만이 경우 표시되지 않습니다.)

특정 사용자에게 부여 된 것 (예 : "SHOW GRANTS for myuser1")을 묻는 것이 아니라 데이터베이스 이름이 주어지면 해당 데이터베이스에 액세스 할 수있는 MySQL 사용자를 결정하는 방법은 무엇입니까? 어떤 권한이 있습니까? 기본적으로 명령 줄에서 위의 차트를 어떻게 얻을 수 있습니까?

13
Philip Durbin

명령에\G를 추가하여 'grid'veiw에 결과를 표시 할 수 있습니다.

SELECT * FROM mysql.db WHERE Db = '<database name in LC>'\G;
16
Graham
SELECT * FROM mysql.db WHERE Db = '<database name in LC>';
8
K. Brian Kelley

가장 좋은 가독성을 제공해야합니다.

select db 'DATABASE', Host HOST, user USER from mysql.db where db = '<databasename>';

진료소에 더 기억에 남는 것 :

select db,Host,user from mysql.db;
2
sjas