최대 1 분 소요

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

🔔포스팅 공지
개인 공부 기록용 블로그 입니다.
잘못된 부분이 있을 시 메일이나 댓글로 지적해주시면 감사드리겠습니다 :)

댓글남기기