IT Japan

MySQL의 권한을 확인한다. 본문

MySQL

MySQL의 권한을 확인한다.

swhwang 2017. 5. 22. 17:04
반응형

인증이 실패했을때뿐만아니라, 명령어를 시리행하려고 하는 MySQL상의 유저에 적절한 권한이 주어져있지않은 경우도 에러가 난다.

MySQL서버의 사양에 있어서, 유저인증이 통과하면 다음에 SQL문과 인스턴스의 정지등의 조작을 하기위한 권한이 있는지 없는지 체크되기 때문이다.


MySQL에의 접속은 [유저&host]로써 인식되기 때문에, 유저를 localhost상에서 접속하는것만 허가 한다면, 다른 호스트로부터의 네트워크 로그인은 당연히,안된다.

유저를 작성할때에, 그런것도 확실히 생각하지 않으면 안되지만

그런 이유로, Access denied에러가 발생해서 유저테이블을 확인할때에는, 유저권한도 체크해야 한다.

그것과 네트워크 넘어의 로그인과 명려어 실행이 안될때는, 그 호스트로부터의 접속이 허가되어있는지.

유저 테이블의 확인 명령어. 이하는 유저명과 호스트명만 추출.

※”mysql.user”는 

mysql > SELECT user,host FROM mysql.user;


모든 항목을 추출합니다. 권위 정보도 확인 가능하며, 그대로 보면 보기 불편하므로 ¥ G.


mysql> SELECT * FROM mysql.user ¥ G


GRANTS문으로  특정 사용자의 권한을 확인합니다.


mysql > SHOW GRANTS FOR exampleuser@’localhost’;


적절한 절단 권한이 부족하면 , 새롭게  권한을 부여합니다.

(현재 보유하고있는 권한에 따라 지정)


mysql> SELECT, INSERT, UPDATE, DELETE, FILE, ALTER ON test_db. * exampleuser @ 'localhost';

mysql> FLUSH PRIVILEGES;


상기 명령어는 유저 작성시와 동등한 것으로, 해당하는 사용자가 존재하지  않은 경우는

 자동적으로 생성되는 것입니다. 권리를 박탈하는 것에는  REVOKE를 사용합니다.

사용자에 대한 모든 권한을 박탈해도, 사용자 자체는 는 삭제 될 수 없습니다.


MySQL의 사용자 계정 관리는, 조금 습관이 있는것 같다.

집요하지만, 이런 기본을 확실히 이해해두지 않으면 나중에 빠져버리므로, 쉽게 보면 안된다는 생각.




반응형

'MySQL' 카테고리의 다른 글

MySQL Cluster를 사용하자!  (0) 2017.05.23
mysqld와 mysqld_safe의 관계  (1) 2017.05.22
MySQL의Access denied에러  (0) 2017.05.22
Installing InnoDB Cluster  (0) 2017.05.16
Introducing InnoDB Cluster  (0) 2017.05.16
Comments