AWS
AWS Linux 서버에 MySQL 설치 및 접속하기
0C
2024. 8. 1. 00:03
오늘은 AWS EC2 (Amazon Linux 2023) 에 MySQL 설치하고 접속해보았다.
AWS EC2 (Amazon Linux 2023) 에 MySQL 설치하기
- PuTTY 접속
- MySQL 관련 패키지 검색
dnf search mysql
- 시스템의 패키지 업데이트
sudo dnf update
- RPM 파일 다운로드
sudo wget https://dev.mysql.com/get/mysql80-community-release-el9-4.noarch.rpm
참고
RPM 파일이란?
리눅스 운영체제에 설치 패키지를 저장하는데 사용되는 Red Hat Package Manager 파일이다.
RPM 파일은 파일을 한 곳에서 패키지화하므로 소프트웨어를 배포, 설치, 업그레이드 및 제거할 수 있도록 제공한다.
- GPG 퍼블릭 키 설정
sudo dnf install mysql80-community-release-el9-4.noarch.rpm -y
참고
GPG (GNU Privacy Guard) 란?
개인정보 보호 및 데이터 암호화를 위한 오픈 소스 소스트웨어. PGP(Pretty Good Privacy) 를 기반으로 만들어졌다.
GPG 키는 디지털 서명, 암호화, 소프트웨어 패키지의 무결성 검증 등에 사용되며,
오픈 소스 소프트웨어의 개발자가 GPG 키를 사용하여 소프트웨어 패키지에 서명하고 사용자는 키를 사용하여 다운로드한 소프트웨어가 원본임을 확인할 수 있다.
- MySQL-Client 설치
sudo dnf install mysql-community-client -y
- MySQL-Server 설치
sudo dnf install mysql-community-server -y
- 설치 확인
mysql -V
Linux 서버에 MySQL 실행하기
- MySQL 서버 시작
sudo systemctl start mysqld
- MySQL 서비스(mysqld)를 시스템 부팅 시 자동으로 시작되도록 설정
sudo systemctl enable mysqld
- MySQL 서비스(mysqld)를 시스템 부팅 시 자동으로 시작되도록 설정하고 현재 세션에서 바로 시작
sudo systemctl enable --now mysqld
- MySQL 데이터베이스 서버의 현재 상태 확인
systemctl status mysqld
- Shift + : + q
Linux 서버에 MySQL 계정 비밀번호 변경
- 임시 비밀번호 받기
- MySQL 은 초기에 Root 계정만 존재한다. 따라서 처음 접속시 비밀번호를 변경해야 한다.
sudo grep temporary password /var/log/mysqld.log
- root 계정으로 접속하기
mysql -u root -p + 임시 비밀번호 입력
- 비밀번호 변경
- 비밀번호는 8자 이상, 대문자, 소문자, 숫자, 특수문자 중 세가지 이상의 조합 사용해야 한다.
ALTER user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '변경할 비밀번호';
- 변경된 비밀번호 로 반영
FLUSH PRIVILEGES;
Linux 서버에 MySQL 계정 생성 및 권한 부여
- 계정 생성
- ‘%’ : 어떤 호스트에서든 접속이 가능하다는 의미
create user '계정명'@'%' identified by '비밀번호';
- 해당 계정에 대해 권한 부여
- 모든 권한 부여 : GRANT ALL PRIVILEGES ON *.* to '계정명'@'%';
- 특정 DB 또는 특정 TABLE 에 대한 권한만 부여 : GRANT ALL PRIVILEGES ON database_name.* TO 'ward'@'%';
- CRUD 작업에 필요한 최소한의 권한만 부여 : GRANT SELECT, INSERT, UPDATE, DELETE ON database_name.* TO 'ward'@'%';
- 변경된 권한 반영 : FLUSH PRIVILEGES;
- MySQL 에서 나가기
exit;
MySQL 설정 변경
sudo vi /etc/my.cnf
- #로 시작하는 줄은 주석으로 필요한 설정을 [mysqld] 섹션 아래에 추가하면 된다.
외부 접근 허용하기
- [mysqld] 섹션 아래에 커서를 놓고 i 키를 눌러 삽입 모드로 전환한다.
- bind-address = 0.0.0.0와 port = 3306 를 입력한 뒤, Esc 키를 눌러 삽입 모드를 종료한다.
- :wq를 입력하고 Enter 키를 눌러 파일을 저장하고 vi 편집기를 종료한다.
sudo systemctl restart mysqld
- MySQL 서버를 재시작하여 변경 사항을 적용한다.