본문 바로가기

PHP/AWS

04. AWS - Amazon Linx 2 AMI에 MySQL 설치하기

반응형

MySQL 설치

 

mysql 5.7 버젼 설치

sudo yum update -y
sudo yum localinstall -y https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
sudo yum install -y mysql-community-server

 

rpm-gpg-key 관련 이슈 참고 URL (솔직히 뭔말인지 모르겠음)

https://stackoverflow.com/questions/71239450/gpg-keys-issue-while-installing-mysql-community-server

 

 

mysql 실행

sudo systemctl enable mysqld
sudo systemctl start mysqld

 

mysql 체크

sudo netstat -plntu

 

3306 포트가 LISTEN 상태가 되면 정상적으로 mysql이 실행되고 있다는 의미

 

 

MySQL 설정

root 계정 비밀번호 체크

sudo grep 'temporary password' /var/log/mysqld.log

빨간 네모로 표시한 게 root 계정의 비밀번호다. 처음에 mysql 설치될 때 무작위로 설정되는 것 같다.

 

root 계정 비밀번호 초기화

sudo mysql_secure_installation -p'표시된 비밀번호'

새로운 비밀번호를 입력하면 그 아래에는 뭐 이거할꺼냐 저거할꺼냐 막 계속 물어보는데 선택은 자유롭게 하면 된다.

 

root 계정 원격 접속 권한 설정

# mysql 로그인
mysql -u root -p

# 접속 후
GRANT ALL privileges ON *.* TO root@'%' IDENTIFIED BY '비밀번호';
FLUSH PRIVILEGES;

 

sql_mode 초기화 및 character-set 설정

sudo vi /etc/my.cnf

[mysqld]
...(다른 내용)
# sql_mode 초기화
sql_mode="ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"

# 캐릭터셋 변경
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
skip-character-set-client-handshake

sql_mode 세팅은 취향이다.

 

 

mysql 재시작

sudo systemctl restart mysqld

 

재시작한 후 로그인하여 sql_mode를 체크하면 적용된 걸 확인 할 수 있다.

반응형