오늘 고생 ^_^한 기억을 되삼아 글을 남겨 봅니다,,
1. 먼저 웹서버 만들어줬던 것 처럼 ec2에서 db를 만들어줍니다
이것도 우분투이고 하는 만드는 방법은 똑같더라구요
2. 연결을 누르고 만든 db 서버를 들어가줍니다
- 그리고 mysql 실행!
- mysql-server를 설치하고, 계정을 만들어서 계정에 외부 접속 허용(%)과 전체 DB 접근 권한(\.\)을 허용해 주는 과정이다
sudo apt update
sudo apt install mysql-server
sudo systemctl start mysql
sudo systemctl enable mysql
sudo mysql
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'root계정비밀번호적기';
sudo mysql_secure_installation
VALIDATE PASSWORD ➔ N
New password
Re-enter new password
Remove anonymous users ➔ N
Disallow root login remotely ➔ Y
Remove test database and access to it ➔ Y
Reload privilege tables ➔ Y
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root계정비밀번호바꾸고싶으면쓰는명령어';
mysql> CREATE USER '내계정이름'@'%' IDENTIFIED WITH mysql_native_password BY '내계정비밀번호';
mysql> GRANT ALL ON *.* TO '내계정이름'@'%' WITH GRANT OPTION;
mysql> exit
3. 외부 접속 허용
이 위치의 파일을 열어 bind-address, mysqlx-bind-address를 0.0.0.0으로 수정
/etc/mysql/mysql.conf.d/mysqld.cnf
4. 다시 exit 하고 쉘로 돌아와서
$ systemctl restart mysql
$ netstat -atnl
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:33060 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
tcp 0 224 172.31.90.171:22 220.71.94.238:61988 ESTABLISHED
tcp6 0 0 :::22 :::* LISTEN
5. 그리고 db 서버를 열어주기
ec2 보안그룹가서 3306 포트 열어주기
이렇게 하면 일단 장고에서 쓸 db는 만들어준겁니데이,, ec2와 장고 연결 준비단계랄까? 그럼 이제 장고 db를 mysql로 바꿔볼게요
mysql> CREATE DATABASE <나의데이터베이스이름>
서버에 대한 정보가 github로 빠져나가면 위험하기 때문에 .env 파일로 따로 관리하고 이 파일은 .gitignore 파일에 추가하여 깃허브에 올라가지 않도록 한다
.env는 .gitignore 파일과 같은 위치에 생성한다
DEBUG=on
MYSQL_DBNAME=<DB이름>
MYSQL_USERNAME=<DB사용자이름>
MYSQL_PASSWD=<DB사용자비밀번호>
MYSQL_HOST=<DB서버외부IP주소>
MYSQL_PORT=<DB서버포트번호 기본3306>
MONGO_DBNAME=<MongoDB이름>
MONGO_USERNAME=<MongoDB사용자이름>
MONGO_PASSWD=<MongoDB사용자비밀번호>
MONGO_HOST=<MongoDB서버외부IP주소>
MONGO_PORT=<MongoDB서버포트번호 기본27017>
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': MYSQL_DBNAME,
'USER': MYSQL_USERNAME,
'PASSWORD': MYSQL_PASSWD,
'HOST': MYSQL_HOST,
'PORT': MYSQL_PORT,
}
}
이거 하고 makemigrations, migrate 고고
'개발 노트 > AWS' 카테고리의 다른 글
[Django] 장고 도메인 연결 (Route 53이용) ec2-가비아 연결 (0) | 2023.08.20 |
---|---|
[Django] [AWS] 장고 배포 정리 AWS EC2 이용 (gunicorn, nginx) (0) | 2023.08.14 |