취준생으로서 RDS의 과금이 살짝 부담스러워서 HAY(진행중인 프로젝트)의 배포 서버에 DB를 직접 설치해서 사용하는 방식으로 바꾸려고 한다.
그러나 역시 문제가 안 생길리가 없지 허허허ㅓ
구글링을 해보니 권한 문제인 것 같았다.
로컬 DB나 RDS를 사용할때는 권한에 대한 문제를 고려해본 적이 없었는데 갑자기 권한, 유저 문제라고 해서 당황했다. 부끄럽지만 이런것이 있었는지 몰랐다ㅠ
sudo mysql -u root -p
비밀번호를 입력하면 아래와 같이 접속이 된다.
CREATE USER 'username'@'%' IDENTIFIED BY 'password'
username에는 새로 생성할 사용자 이름을 적으면 된다.
'%'는 외부 접근을 허용해 준다는 의미이다.
password에는 mysql의 비밀번호를 적으면 된다.
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password';
모든 데이터베이스와 테이블에 접근 권한을 줄것이므로 *.*
로 작성한다.
select Host,User from mysql.user;
을 통해 유저가 잘 만들어졌는지 확인한다.
잘 만들어졌으면 exit
을 통해 빠져나간 후, sudo mysql -u 'username' -p
로 접속이 되면 성공~!
mysql을 비롯한 데이터베이스들은 사용자를 새로 추가할 수 있다. 그리고 사용자별로 권한을 다르게 주어 외부에서의 접근을 통제할 수 있다.