먼저 아래 가이드를 따라서 MySQL DB을 생성합니다.
생성이 끝났으면 endpoints를 기억해둡니다.
제대로 만들어졌는지 확인해 봅시다.
먼저 AWS EC2에 로그인하고 아래 명령으로 mysql에 접속해서 show databases; 명령 한 번 내려보세요.
- $mysql -h "endpoints" -u admin -p
이번에는 로컬 PC에서 접속해 봅시다.
잠깐만요, 안된다고요?!!!
- ERROR 2003 (HY000): Can't connect to MySQL server on 'database-1~~~~~'
이런 에러가 나올 때는 데이터베이스 인스턴스를 선택하고 Modify 버튼으로 들어가서 Security group 보안설정이 적절한지, 그래도 안되면 Additional configuration에서 Publicly accessible로 변경합니다. 주의 변경 완료까지 시간이 좀 걸려요~
잘 되네요. MySQL Workbench를 사용해서 연결할 수도 있습니다.
이제 데이터베이스를 만들고 권한을 줍니다.
- CREATE DATABASE test_db default chracter set utf8
- use test_db
- grant all privileges on test_db.* to 'admin'@'%' ;
-
grant CREATE, ALTER, DROP, REFERENCES ON *.* to 'admin'@'%' ;
-
flush privileges;
이제 Prisma를 연동해 봅시다. .env 파일을 만들어 다음과 같이 DATABASE_URL을 지정합니다.
DATABASE_URL="mysql://admin:암호@엔드포인트:3306/test_db"
자세한 내용은 아래 링크 참고합니다.
스키마가 이미 있다면, 아래 명령으로 각각 테이블을 생성하고 초기 데이터를 넣어줍니다.
- npx prisma migrate dev
- npx prisma db seed
만일 이 과정에서 P1001 에러가 난다면, DATABASE_URL 끝에 아래 문구를 붙여줍니다.
- ?connect_timeout=30&pool_timeout=30&socket_timeout=30
728x90
반응형
'IT > Network & OS' 카테고리의 다른 글
[AWS] HTTPS & WSS (0) | 2022.02.09 |
---|---|
[AWS] Amplify (0) | 2022.02.09 |
[AWS] EC2 (0) | 2022.02.05 |
ROS - 3. React 웹앱 (0) | 2021.05.27 |
ROS - 2. ROS2 Web Server & 웹앱 (0) | 2021.05.17 |