AWS에서 MYSQL을 이용할 수 있는 방법은 RDS와 EC2에 MYSQL설치하여 사용하기 2가지 방법 존재합니다. 본 문서에서는 EC2 인스턴스에 MYSQL을 이용하여 설치하는 방법에 대해 알아보겠습니다.
저는 mysql Workbench에 연결하여 관리하는 방법을 설명하겠습니다. 이를 위해 2가지 과정을 선행해야 합니다.
- 인스턴스의 방화벽에서 3306 포트 허용하기
- 외부접속 허용하기
AWS 인스턴스 콘솔에서 [네트워크 보안] - [보안그룹] 으로 이동하여 인바운드 규칙 편집을 클릭합니다.
목록 중 MYSQL/Aurora를 클릭하고 규칙 저장을 클릭하면 방화벽 허용이 완료됩니다.
먼저 mysql을 설치해줍니다.
sudo apt install mysql-server
설치 이후 아래 코드를 입력해 주세요
mysql -u root -p
grant all privileges on *.* to root@'%' identified by '루트계정 비밀번호';
grant all privileges on *.* to root@'localhost' identified by '비밀번호';
flush privileges;
trouble shooting
더이상 identified 명령어가 실행되지 않습니다. 실행할 경우 아래와 같은 오류를 발생시킵니다.
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'identified by '루트계정 비밀번호'' at line 1
이를 해결하기 위해서는 아래 명령어를 사용해야 합니다.
grant all privileges on *.* to 'user1'@'%' with grant option;
@ 21.04.13 수정
workbench를 실행한 이후 + 버튼을 클릭합니다.
connection Name에는 마음대로 입력하면 됩니다.
hostName에 자신의 ip 주소를 입력하고 store in Vault를 클릭하여 비밀번호를 저장해둡니다.
local instance로 입장하여 [Database] - [reverse Engineering]을 선택합니다.
이후 next를 연타하게 되면 다음과 같은 모델링 파일을 추출할 수 있습니다.
다음 모델링 화면에서 [Database]- [forward Engineering]을 클릭합니다.
stored Connection에서 aws 인스턴스를 선택한 이후 next를 계속 클릭하면 aws 인스턴스에 모델링 파일이 적용되게 됩니다.
만약 forward enginnering 하는 도중 에러가 발생할 경우 sql script 화면에서 visible을 모두 지워보세요. 모든 경우에 이것만 고치면 에러가 해결되었습니다.