[Error] Host '211xxx.xxx.xxx' is not allowed to connect to this MySQL server

GyeongEun Kim·2022년 12월 28일
0

취준생으로서 RDS의 과금이 살짝 부담스러워서 HAY(진행중인 프로젝트)의 배포 서버에 DB를 직접 설치해서 사용하는 방식으로 바꾸려고 한다.
그러나 역시 문제가 안 생길리가 없지 허허허ㅓ

구글링을 해보니 권한 문제인 것 같았다.
로컬 DB나 RDS를 사용할때는 권한에 대한 문제를 고려해본 적이 없었는데 갑자기 권한, 유저 문제라고 해서 당황했다. 부끄럽지만 이런것이 있었는지 몰랐다ㅠ

1. mariaDB (MySQL) 을 root권한으로 실행

sudo mysql -u root -p

비밀번호를 입력하면 아래와 같이 접속이 된다.

2. 새로 사용자를 생성하기

CREATE USER 'username'@'%' IDENTIFIED BY 'password'
username에는 새로 생성할 사용자 이름을 적으면 된다.
'%'는 외부 접근을 허용해 준다는 의미이다.
password에는 mysql의 비밀번호를 적으면 된다.

3. 새로운 유저에게 권한 주기

GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password';
모든 데이터베이스와 테이블에 접근 권한을 줄것이므로 *.*로 작성한다.

4. 완성

select Host,User from mysql.user;을 통해 유저가 잘 만들어졌는지 확인한다.

잘 만들어졌으면 exit을 통해 빠져나간 후, sudo mysql -u 'username' -p로 접속이 되면 성공~!

결론

mysql을 비롯한 데이터베이스들은 사용자를 새로 추가할 수 있다. 그리고 사용자별로 권한을 다르게 주어 외부에서의 접근을 통제할 수 있다.

profile
내가 보려고 쓰는 글

0개의 댓글