일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- AIBootcamp
- 파이썬
- 코린이블로그2일차 #알고리즘공부 #C언어
- 폰노이만의 구조
- 오블완
- 티스토리챌린지
- AI부트캠프
- 폰노이만 아키텍쳐
- 대전 피로연장 넉넉한 웨딩홀
- Linux Timezone
- 웅장한 웨딩홀
- 대전 웨딩홀 비교
- 대전 웨딩홀 가격
- 코린이블로그8일차 #알고리즘공부 #C언어
- 팔레드오페라 웨딩홀 계약 후기
- 팔레드오페라 웨딩홀 후기
- 대전 웨딩홀 추천
- 코린이블로그17일차 #알고리즘공부 #C언어
- Django EC2
- codestates
- Von Neumann Architecture
- 코린이블로그4일차 #알고리즘공부 #C언어
- 2주차
- 코드스테이츠
- 1주차
- Django EC2 gunicorn nginx
- EC2 MySQL
- 코린이블로그9일차 #알고리즘공부 #C언어
- 대전 팔레드오페라 후기
- CLI
- Today
- Total
찰리의 놀이터
[EC2] EC2 mysql 설정하기 + DBeaver 연결하기 본문
EC2 Instance
먼저 EC2 인스턴스를 빠르게 생성합니다.
키페어나 보안그룹은 원래 쓰던 게 존재하지만, 새로 모두 만들어주었습니다.
인바운드 규칙도 보안그룹 설정에서 해주도록 합니다. MySQL을 허용해주어야 합니다.
EC2 Instance 연결
인스턴스에 접근해주도록 합니다. 저는 ssh를 사용하여 접근하였습니다.
접근 방법은 아래와 같습니다.
인스턴스 정보 페이지에서 연결 버튼을 누릅니다.
SSH 클라이언트 탭을 누르고 예시에 나와있는 명령어를 복사합니다.
만들어주는 키페어가 있는 디렉토리에서 실행해주도록 합니다.
저는 맥미니를 쓰고 있기 때문에 fingerprint가 아닌 yes로 입력하였습니다.
UNPROTECTED PRIVATE KEY FILE이라는 경고 문구가 보입니다.
권한을 확인하고 chmod 600 ./mysql_key.pem
명령어를 통해 권한 설정을 바꾸어 주도록합니다.
접속이 되었습니다.
!! 만약 pem 파일을 기존에 사용하시던 것을 사용하시다가 "Host key verification failed"에러가 발생할 경우 ssh-keygen -R [ IP or DomainName]
명령어를 입력하셔서 해결하시면 됩니다.
EC2 접속 후 설정
우분투 서버 업데이트
$ sudo apt-get update
우분투 서버 업그레이드 - 중간중간 Y|n이 나오면 그냥 엔터쳐주시면 됩니다.
$ sudo apt-get upgrade
mysql-server 설치
$ sudo apt-get install mysql-server
MySQL 기본 설정
외부 접속 기능 설정(3306 포트 오픈)
$ sudo ufw allow mysql
bind-address 변경
$ sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
해당 부분을 주석처리 합니다.
MySQL 실행
$ sudo systemctl start mysql
Ubuntu 서버 재시작 시 MySQL 자동 재시작
$ sudo systemctl enable mysql
MySQL 접속
비밀번호 입력 시 그냥 엔터쳐주시면 됩니다.
$ sudo mysql -u root -p
또는
$ sudo /usr/bin/mysql -u root -p
사용자 등록 및 권한 설정
사용자 정보 확인
mysql> SELECT User, Host from mysql.user
Localhost 권한의 사용자
사용자 계정 만들기mysql> CREATE USER 'charlie'@'localhost' IDENTIFIED BY 'test';
mysql> FLUSH PRIVILEGES;
mysql> SELECT User, Host from mysql.user;
사용자 계정 모든 권한 부여하기mysql> GRANT ALL PRIVILEGES ON *.* TO 'charlie'@'localhost';
mysql> FLUSH PRIVILEGES;
mysql> SHOW GRANTS FOR'charlie'@'localhost';
mysql> SELECT User, Host from mysql.user;
본래 권한설정 시 ON 뒤에는 [DATABASE 이름].*
의 순서로 입력합니다.
외부 접근 권한의 사용자
사용자 계정 만들기mysql> CREATE USER 'paul'@'%' IDENTIFIED BY 'test';
mysql> FLUSH PRIVILEGES;
mysql> SELECT User, Host from mysql.user;
사용자 계정 모든 권한 부여하기mysql> GRANT ALL PRIVILEGES ON *.* TO 'paul'@'%';
mysql> FLUSH PRIVILEGES;
mysql> SHOW GRANTS FOR'paul'@'%';
mysql> SELECT User, Host from mysql.user;
DBeaver 연결
여기서 Test Connection을 하면
와 같이 Access Denied가 뜨는데 charlie 계정은 localhost 계정으로 생성했기 때문입니다.
paul 계정으로 연결할 경우 잘 되는 것을 확인할 수 있습니다.
만약 PublicKeyRetrieval 문제가 발생한다면, driver properties에서 수정해준 후 Test Connection을 해보도록 합니다.
'AWS' 카테고리의 다른 글
[EC2] Django REST Framework 배포하기(feat. Miniconda, Gunicorn, NginX) (0) | 2023.03.20 |
---|