AWS의 RDS로 구축한 MaraiDB의 문자 인코딩, 방화벽 설정, 접속까지의 과정을 정리해봤다.
개발 환경
MySQL 5.7
MariaDB 10.5.20
utf8mb4
으로 설정흔히 사용하는 utf8
은 이모티콘 지원이 불가능해 utf8mb4
으로 설정한다. (MySQL, MariaDB 에만 해당)
utf8mb4_general_ci
으로 설정collation
은 데이터 정렬 및 비교를 위한 규칙 집합을 의미한다.
정확한 한글(또는 동아시아 언어, 일본어, 중국어) 검색 처리를 위해 설정한다.
MySQL
8.0.1
버전부터utf8mb4
또는utf8mb4_0900_ai_ci
가 기본 값이므로 자신이 사용하는 데이터베이스 버전에 맞춰 한글 데이터를 사용할 때에는 변경하는 것이 좋다.
EC2 > Network & Security > Security Groups > Create security group
SSH와 MySQL Workbench 둘 다 접속할 수 있도록 규칙을 설정해줬다.
Modify > Connectivity > Security group
Databases 선택 > Configuration > Master username
(당연히 root 일 거라고 생각하고 시도했다가 계속 로그인 실패해서 찾아보니 마스터 이름이 admin이었음)
mysql -h 엔드포인트 -u 사용자 명 -p
-h : 엔드포인트
-u : 사용자 명
-p : 사용자 비밀번호
ssh 명령어를 입력하면 Enter password 가 나오며 비밀번호 입력을 요청한다.
만약 틀린 비밀번호를 입력했다면 아래와 같은 에러가 뜰 것이다.
마지막에 using password: YES
는 비밀번호를 입력했으나 접속 실패했다는 뜻이다.
ERROR 1045 (28000): Access denied for user 'admin'@'localhost' (using password: YES)
맞는 비밀번호를 입력했지만 접속이 되지 않는다면 mysql -h 엔드포인트 -u 사용자 명 -p
에 옵션을 잘 입력했는지 주의 깊게 확인하자 -h
빼 먹은 거 못 알아채고 진짜 삽질했다..
RDS 데이터베이스 비밀번호 변경 방법
만약 비밀번호가 기억나지 않는다면, 새 비밀번호로 다시 설정하면 된다. 아래의 Master password 칸에 새 비밀번호를 입력하고 수정
Connection Name : 연결하는 데이터베이스 이름 (자유롭게 설정)
Hostname : 엔드포인트
Port : 포트 번호
Username : 사용자 명