donaricano-btn

MySql 서버 외부 접속시 에러 - RROR 1045 (28000): Access denied for user 'root'@'52....' (using password: ...) 


1. 시도

- Mybatis를 이용하여 아마존 인스턴스에 설치된 MySql 접속을 시도

- 하지만 1045 (28000): Access denied for user.. 라는 에러 발생

- 인증에 실패한 경우로 접속은 성공

2. 해결

1) root 인서트 하는 방법

- select host, name from mysql.user;

- 위와 같이 검색된다면 root 에 새로운 호스트와 비밀번호를 추가한다

- 그러나 ssl_cipher doesn't have a default value 라는 에러가 발생

- 이유는 MySql 버전이 올라가면서 보안이 강화되었다, 인서트시 특정 값을 값이 넣어주어야 한다

- insert into user(host, user, password, ssl_cihper, x509_issuer, x509_subject) values ('%','username',password('password'),'','','');

위와 같이 특정 값을 넣어주어야 한다

- 마지막으로 모든 권한을 주고 업데이트 한다

2) 새로운 사용자를 만드는 방법

- 기본적으로 root는 localhost 환경에서만 접속하도록 설정되어 있다

- 그렇기 때문에 새로운 사용자를 만들어 어디서든 접속 할수 있도록 호스트를 '%'로 설정한다

3) host 설정에 따른 구분

% 모든 호스트로부터의 접속을 허용

XXX.XXX.XXX.XXX : 특정 호스트로 부터 접속허용

XXX.XXX.% 등 : 특정 대역으로 부터 접속허용

특정이름 : 특정 호스트로 부터 접속 허용


4) 참조한사이트 

- 원격 접속이 안될 때 

http://blog.naver.com/PostView.nhn?blogId=ez_&logNo=140119374985

http://dev.mysql.com/doc/refman/5.7/en/connection-access.html

- 원격 접속 허용

http://zetawiki.com/wiki/MySQL_%EC%9B%90%EA%B2%A9_%EC%A0%91%EC%86%8D_%ED%97%88%EC%9A%A9






블로그 이미지

리딩리드

,