[AWS] AWS EC2에 Mysql 설치하기

ysk1230·2023년 12월 18일

Mysql(Linux) IN AWS

목록 보기
6/8
  • 사전에 ec2 터미널에서 루트계정으로 전환 후 진행하는 편이 좋다

1. Mysql 버전 다운로드

https://dev.mysql.com/downloads/repo/yum/

현재 시점에서 최신 mysql 버전 확인

2. 다음 명령어로 현재 ec2에 설치된 linux환경에 맞는 버전 다운로드 및 설치

wget https://dev.mysql.com/get/mysql80-community-release-el9-5.noarch.rpm
yum localinstall mysql80-community-release-el7-3.noarch.rpm

3. 완료 후 다음 명령어를 통해 설치

yum install mysql-community-server

4. mysql 실행 및 상태 확인

sudo systemctl start mysqld
sudo systemctl status mysqld
  • 정상 실행 됐다면 아래와 같이 나온다.

5. characherset 설정

mysql에서 utf-8 인코딩 설정을 위한 것이다.

vim /etc/my.cnf

파일을 열고 맨 아래 부분에 추가해주자,
추가 방법은 키보드 방향키를 이용해 원하는 위치까지 간다음 i를 눌러 수정
수정이 끝나면 :w 를 입력해서 저장
:q 를 입력해서 나오기

6. Root 비밀번호 찾기

mysql을 처음 설치하면 임시비밀번호가 log에 찍혀있기 때문에 , log를 통해 root 비밀번호를 알아내자

cat /var/log/mysqld.log | grep 'temporary password'

root@localhost 뒤에있는것이 비밀번호

7. 접속 및 비밀번호 변경

알아낸 임시비밀번호를 이용해 mysql에 접속한다.

mysql -u root -p

정상적으로 접속되면 root 비밀번호를 변경하자

alter user 'root'@'localhost' identified with mysql_native_password by '원하는비밀번호';

비밀번호 정책에 따라 복잡성이 부족하면 변경이 안된다는 에러가 뜰 수 있다. 대문자, 소문자, 일정길이 이상, 특수문자 조합이면 생성된다.

현재까지 완료한 셋팅이다.

8. 외부에서 접속 가능하도록 AWS EC2 보안그룹 규칙설정

aws 콘솔로 넘어가서

보안그룹 에 들어가서 생성된 security group id 클릭

인바운드 규칙 편집 클릭

규칙 추가 후 아래와 같이 설정 , 규칙 저장하고 나오기

9. Database 생성 및 계정 생성

  • User 생성
CREATE USER '아이디'@'로컬/외부 접속' IDENTIFIED BY '비밀번호';

-> ex) CREATE USER 'yskim'@'%' IDENTIFIED BY '1234';

  • Database 생성
CREATE DATABASE 데이터베이스명;
  • 권한 부여
GRANT ALL PRIVILEGES ON *.* to 'User명'@'%';
  • 변경내용적용
FLUSH PRIVILEGES;
  • cnf 파일 수정 및 재시작
vim /etc/my.cnf

마지막에 추가

bind-address=0.0.0.0

systemctl restart mysqld

10. 외부 접속 툴(DBeaver) 을 통한 접속 테스트

aws 콘솔에서 인스턴스에 들어가면 퍼블릭 ipv4 DNS를 복사

신규 연결 셋팅을 아래와 같이 진행

server host : 퍼블릭 ipv4 dns
port : 3306 ( aws 인바운드 규칙 설정 시 설정한 포트)
Database : 9번 항목에서 생성한 Database 이름(필수는 아님 옵션임)
username : 9번 항목에서 생성한 아이디
password : 생성한 비밀번호

이러고 연결 테스트시 만약

"Public Key Retrieval is not allowed" 오류 가 발생하면

Driver properties 탭으로 가서

allowPublicKeyRetrieval 속성을 찾고, 이 속성의 값을 true로 설정한다.
없으면 하단에 보면 + 모양으로 추가할 수 있으니 추가해줄 것.

아래와 같이 연결 성공

0개의 댓글