AWS

MySQL With AWS EC2

PON_Z 2023. 5. 19. 18:16

- 처음에는 AWS EC2에서 AWS Linux 이미지로 인스턴스를 발급받고, yum list mysql*을 통해 설치 가능한 mysql 목록을 확인한 다음 설치를 하려 했으나, OS 문제로 추정되는 에러로 인해 설치 후 mysql 실행이 되지 않았다. 생긴지 얼마 되지 않은 패키지여서 그런지 관련글이 없었다. 프로젝트를 빨리 진행해야 해서 원인에 대한 분석은 미루고 ubuntu로 AWS 이미지를 바꿔서 진행하였다.

 

(아래 mysql 패키지를 사용하여 운영해보신분은 댓글 달아주시면 감사하겠습니다)

[ec2-user@ip- bin]$ yum list mysql*
Amazon Linux 2023 repository    28 kB/s | 3.6 kB     00:00
Amazon Linux 2023 Kernel Livep  24 kB/s | 2.9 kB     00:00
Available Packages
mysql-selinux.noarch      1.0.4-2.amzn2023.0.3      amazonlinux

 

- 설치 방법은 아래와 같다.

# for update
sudo apt update

# install mysql server package
sudo apt install mysql-server

 

- 이제 아래 디렉토리로 가서 섹션 아래에 다음 줄을 추가한다.

#/etc/mysql/mysql.conf.d/mysqld.cnf
default_authentication_plugin=mysql_native_password

 

- 이후 프로젝트에서 외부 서버에서 mysql을 접근할 것이기 때문에 미리 bind-address를 해준다.

/etc/mysql/mysql.conf.d
bind-address = 0.0.0.0

 

- 서비스를 실행하고, mysql에 로그인을 한다.

# run mysql service
sudo service mysql start
# login
sudo mysql -u root

 

- 패스워드 정책을 확인한 다음, 정책에 맞게 비밀번호를 설정한다.

SHOW VARIABLES LIKE 'validate_password%';

 

- 정책에 맞게 비밀번호를 설정한다.

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '[패스워드]';

 

- 로그아웃한 후 패스워드 정책이 잘 적용되었는지 확인한다.

 

- 이후 kafka와 연결할 것이므로 (1)/etc/hosts에 ip를 추가하는 것, (2)인바운드 규칙 수정, (3)mysql 유저를 생성하여 해당 kafka 서버의 ip에 대해 권한 주기를 모두 수행해야 kafka <-> mysql 소통이 가능하다.

 

 

- 다들 AWS MSK를 사용하면 간단하다고 하지만, 비용적인 측면 때문에 개인프로젝트에서는 꺼려지는 부분이 있었다.

728x90

'AWS' 카테고리의 다른 글

Kafka With AWS EC2 #2  (0) 2023.05.16
Kafka With AWS EC2 #1  (0) 2023.05.15