개인적인 생각입니다.
RDS가 존재하지만, EC2에 MySQL을 설치, 사용하는 경우는 RDS를 사용해야 할 만큼 규모가 큰 프로젝트가 아니거나, 단순히 연습을 위해서라고 생각됩니다.
물론 RDS를 EC2에 연동하는 방법이 좋다고 생각합니다. 하루, 이틀 사용하고 서비스를 종료하면 큰 비용이 들지 않지만, 꾸준히 사용할 미니 프로젝트라면 EC2에 MySQL을 설치해 사용하는 것을 추천해 드립니다.
apt-get update
apt-get install mysql-server
위 명령어를 통해 mysql-server를 다운받습니다.
Version이 중요합니다.
5버전을 받았는지, 8버전을 받았는지 확인이 필요합니다. 아래 명령어를 통해서 버전을 확인할 수 있습니다.
5버전과 8버전의 차이를 자세하게 얘기하는 건 다른 게시글에서 글을 작성해보겠습니다.
mysql --version
평소 local 명령어와 같습니다.
설치 후 비밀번호가 없습니다. 엔터를 쳐서 mysql 접속하면 됩니다.
mysql -u root -p
암호 설정 없이 EC2를 종료하면 찾지 못합니다. 초기화하는 방법은 있지만 힘들고, EC2 Instance 생성 작업부터 다시 시작해야 하는 상황이 발생할 수 있습니다.
use mysql
Database Changed가 출력됩니다.
// 5 버전 사용자
mysql> update user set password=password("암호") where user="root";
// 8 버전 사용자
mysql> alter user "root"@"localhost" identified with mysql_native_password by "암호";
FLUSH PRIVILEGES;
최고 권한 부여받는 방법은 쉽습니다.
sudo su
아래 명령어를 통해 mysqld.cnf 파일이 있는 디렉토리로 이동이 가능하고, 살펴보며 가실 분은 cd로 디렉토리를 이동하면서 ls를 한 번씩 쳐주는 방법이 있습니다.
cd/etc/mysql/mysql.conf.d
vi mysqld.cnf
bind-address를 찾아 수정해주면 됩니다.
수정 후 :wq 를 통해 저장 후 종료 하면 됩니다.
bind-address = 0.0.0.0
service mysql restart 명령으로 MySQL 서버 재시작하기
다양한 방법이 있지만 MySQL WorkBench를 사용하는 게 가장 좋다고 생각됩니다.
Hostname: EC2 IPv4 주소 입력
Username: root 또는 개인이 생성한 Username
Password: Store in Keychain 클릭 후 비밀번호 입력
Test Connection을 클릭해 원격 접속이 가능한지 확인 후 OK 클릭
(Test Connection을 권장해 드리는 이유는 OK 바로 클릭하면, 사용자 또는 비밀번호 잘못됐을 때 대기 시간이 길어집니다.)
mysqld.cnf 해당 파일이 없다면 어떻게 해야하나요?