2012-03-30 2 views
4

실수로 뭔가 조금 바보했고, MySQL의 콘솔에이를 입력 :MySQL의 보크 루트 권한은 조심스럽게

mysql> grant all on myDB.* to [email protected]'%' identified by 'root'; 

을 ... 그리고 DB 구성은 원격 로그인에 열려 있습니다. 이제이 권한을 제거해야하지만 실수로 내 루트 사용자에 대한 모든 권한을 철회하고 DB 관리자로서 db에서 효과적으로 잠그고 싶지는 않습니다. 어떻게해야합니까? 당신이 할 수있는

답변

4

먼저에만 문제가되는 줄을 제거하기 위해 mysql 데이터베이스에서 user를 통해 이동하는 것입니다, 그리고 플러시 권한, 당신의 [email protected] 및/또는 [email protected] 사용자가 액세스 할 수 있는지 확인합니다. 당신이 원하지 않는 가정

REVOKE all on myDB.* from [email protected]'%'; 
FLUSH PRIVILEGES; 

:

SHOW GRANTS FOR [email protected]; 
SHOW GRANTS FOR [email protected]; 

당신은 결과에서 볼 수는 안전하게 mysql 데이터베이스에서 [email protected]'%'에 대한 보조금을 제거 할 수 있습니다, 그 항목이 존재한다고 가정 GRANT ALL PRIVILEGES ON *.* to... 같은 라인을 설정 [email protected]'%' 사용자가 하나 존재합니다 :

DROP USER [email protected]'%'; 
0

사용 :

SHOW GRANTS FOR 'root'@'%';

root의 모든 사용 권한을 확인하십시오. 그런 다음

은 특정 권한을 제거합니다 : 여기 more을있다

REVOKE SELECT FROM [email protected]'%'

.