MySQL/MariaDB 원격 접속 허용하기 (Host ‘IP’ is not allowed to connect to this MySQL server)
MySQL(MariaDB)는 기본적으로 로컬에서만 접속할 수 있도록 설정되어 있습니다. 그래서 외부에서 DB에 접속하고자 하는 경우에는 반드시 접근 허용을 해주어야 합니다.
✔️ 접근 권한 확인
해당 오류가 났다는 것은 접근 권한이 없다는 것을 의미하는 것이라, 사실 권한 확인은 생략하고 넘어가도 되지만 그래도 한번 확인해보도록 하겠습니다.
1
select Host,User,plugin,authentication_string FROM mysql.user;
DB 접속 후 위 명령어를 입력하면 접근 권한이 어떻게 되어있는지 확인할 수 있습니다. localhost만 보인다면 접근권한이 로컬만 허용되어 있는 것입니다.
✔️ 권한 부여
모든 IP 허용
1
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '패스워드';
IP 대역 허용
1
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.0.%' IDENTIFIED BY '패스워드';
위와 같이 설정하는 경우에는 192.168.0 으로 시작하는 모든 IP가 허용됩니다.
특정 IP 허용
1
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.0.19' IDENTIFIED BY '패스워드';
위와 같이 설정하는 경우에는 192.168.0.19 인 아이피만 허용됩니다.
✔️ 허용 전으로 되돌리기
1
2
DELETE FROM mysql.user WHERE Host='%' AND User='유저명';
FLUSH PRIVILEGES;
✔️ 원격 접속 하기
1
mysql -h '원격 IP주소' -u '허용된 사용자 이름(ex. root)' -p
🔔포스팅 공지
개인 공부 기록용 블로그 입니다.
잘못된 부분이 있을 시 메일이나 댓글로 지적해주시면 감사드리겠습니다 :)
댓글남기기