< 정리 > 

 

mysql에 특정 user로 접속하려 할 때, 사용자 인증을 처리하는 두 가지 방식이라고 보면 되겠다.

 

비밀번호를 어떤 식으로 구성하고 인증방식을 어떤 식으로 처리하는지에 대한 차이 정도?

 

 

사용하는 입장에서 아주 간단히 보자면

 

mysql_native_password

 

- mysql 상에서 정해놓은 password를 사용

- 외부에서 접속할 때 사용가능.  

- 한마디로, mysql에서 비밀번호 설정하고 외부에서 접속할 땐, 그 비밀번호 입력하면 되는 우리가 익히 알고 있는 방식.

 

 

auth_socket

 

- mysql이 아닌 mysql이 실행되고 있는 운영 체제의 사용자 계정 정보를 사용함. 

- 외부에서 접속할때 사용 불가능. 즉, 사용자의 비밀번호 방식을 auth_socket으로 설정해 놓으면, 외부에서 접속 불가능.

 

< 결론 >

 

따라서 외부에서 mysql의 특정 user로 접속하고 싶다?

-> 비밀번호 방식을 mysql_native_password로 해 놓을 것. 

 

 

특히, 외부 데이터베이스에 데이터를 상시 수정해야 하는 상황이다?

->  mysql_native_password로 비밀번호, 인증방식을 설정할 것.

 

 

보안상, 로컬환경에서만 사용해야한다?

-> auth_socket 방식 사용

 

 

 

HardConcentrator