mysql
[sql] 외부에서 접속 불가능 allowed to connect to this mysql server
2hansoul
2022. 10. 20. 20:49
반응형
DB를 외부에서 접속시 발생하는 오류 Heidisql 같은 프로그램 으로 접속시 뜬다
그렇기 때문에 계정 생성후 접속시 허용 할 ip를 지정해줘야한다
DB접속 후 현재 설정 확인 root계정으로 로그인 후 확인
select Host,User,plugin,authentication_string FROM mysql.user;
모든 ip 허용
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '패스워드';
혼자 테스트 환경이면 모든 ip허용 해도 상관없는데 왠만하면 안하는게 좋다
IP 대역대 허용
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.10.0.%' IDENTIFIED BY '패스워드';
해당 ip 대역대만 허용하게 설정한다 회사에서 여러 사람이 접속시 유용하게 사용 할수 있다
모든 ip를 허용하기는 위험 부담이 너무 크다
특정 IP 허용
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.10.0.254' IDENTIFIED BY '패스워드';
하나의 ip를 지정하여 설정 한다 개발 인력이 많지 않다면 한명씩 지정해서 사용해도 유용하다
Ip허용 후 원래 상태로 되돌리기
DELETE FROM mysql.user WHERE Host='%' AND User='아이디';
해당 기능은 개발인력이 아닌 외부에서 보고 싶다고 할때 IP를 허용 해주고 원래 상태로 되돌리기 위해 사용 한다
외부에서는 한번만 확인하면 되니 IP를 계속 허용 해 줄 필요가 없다
설정 적용
FLUSH PRIVILEGES;
현재 사용중인 MySQL의 캐시를 지우고 새로운 설정을 적용하기 위해 사용합니다. 이 명령어를 사용하려는 사용자는 reload권한을 가지고 있어야 합니다. IP를 허용하고 꼭 해당 명령어를 적용하자(이거 안해서 다른방법 계속 해봄)
반응형