리팩터링 - 개발 환경 구축 (2) MySQL 설치 및 환경설정
안녕하세요 🙃!
이번 포스팅에서는 지난 시간에 구축한 우분투 서버에 MySQL을 설치하고, 외부에서도 우분투 서버의 MySQL에 접속할 수 있도록 설정 해보겠습니다.
📗 MySQL설치 & 환경설정
1️⃣ MySQL설치
sudo apt-get update
다음 명령어로 운영체제에서 설치 가능한 패키지 리스트들을 업데이트 합니다.
sudo apt-get install mysql-server
다음 명령어로 MySQL을 설치합니다.
다음과 같은 질문에 Y 로 대답해주세요.
설치가 완료되면 mysql --version 을 입력하여 설치 된 mysql의 버전을 확인합니다.
2️⃣ MySQL접속
mysql -u root -p
다음 명령어로 mysql 에 접속합니다.
다음 명령어를 입력했을 때, ERROR 1698이 발생했습니다. 에러를 해결하기 위해 MySQL ERROR 1698 (28000): 에러 해결 을 참고하였습니다.
sudo mysql -u root -p
sudo명령어로 root 권한을 이용하여 mysql에 접속합니다. 초기에는 비밀번호가 설정되어 있지 않기 때문에 Enter password를 return키를 입력하여 넘어갑니다.
Use mysql;
mysql 데이터베이스의 사용을 선언합니다.
SELECT User, Host, plugin FROM mysql.user;
user테이블에서 User, Host, plugin 목록을 조회 합니다.
위의 그림과 같이 root의 plugin이 auth_socket으로 되어있습니다.
UPDATE user SET plugin = 'caching_sha2_password' WHERE User='root';
위의 명령어를 사용하여 root의 plugin을 caching_sha2_password로 변경합니다.
SET PASSWORD FOR 'root'@'localhost'='비밀번호';
root계정의 비밀번호를 설정합니다.
FLUSH PRIVILEGES;
변경 된 정책을 반영합니다.
exit;
mysql -u root -p
종료하고 다시 처음의 방식으로 접속하면 error없이 접속 됩니다.
3️⃣ 인바운드 설정
※위의 화면은 설정 후 의 모습 입니다※
네트워크 및 보안 -> 보안그룹 -> 체크박스 체크 -> 인바운드 규칙 -> 인바운드 규칙 편집
다음 그림과 같이 설정하고 규칙 저장 을 눌러줍니다.
※인바운드 설정 후, ssh으로 접속할 때 timed out이 발생하며 접속이 안되는 경우에는 여기👈를 참고 하시길 바랍니다. ※
4️⃣ 원격접속 허용
원격접속을 허용하려면 vi 에디터로 mysqld.cnf 파일을 일부 수정 해야 합니다.
1) 다음 명령어로 root 권한을 부여합니다.
sudo su
2) 다음 명령어로 mysqld.cnf파일이 있는 곳 으로 이동합니다.
cd /etc/mysql/mysql.conf.d
3) vi 에디터로 mysqld.cnf 파일을 실행합니다.
vi mysqld.cnf
4) bind-address를 찾아 0.0.0.0 으로 변경합니다. ※ vi편집기 명령어 참고 _※
i #편집 모드
:wq #저장후 vi 종료
5) 외부접속용 계정을 생성하고, 필요한 권한을 줍니다.
CREATE USER 'user_이름'@'%' IDENTIFIED BY '비밀번호'
GRANT ALL PRIVILEGES ON *.* TO 'user_이름''@'%' WITH GRANT OPTION;
6) MySQL 서버를 재시작 합니다.
sudo service mysql restart
7) 로컬에서 우분투 서버의 MySQL에 접속해봅니다.
cd /usr/local/mysql/bin
mysql 실행 경로로 이동
./mysql -u user_이름 -p --port 3306 --host 호스트주소(ip)
로컬에서 우분투 서버의 MySQL에 원격으로 접속
mysql> 이 나타난다면 접속 완료 !
※ 홈 디렉토리에서 mysql을 바로 실행 할 수 있다면 아래의 명령어 사용
mysql -u user_이름 -p --port 3306 --host 호스트주소(ip)
📝 추가 글📝
EC2 인스턴스 환경에서 MySQL을 사용하는 방법은 다음과 같다.
1. EC2 에 DB를 직접 설치하여 서비스
이번 포스팅과 마찬가지로 우분투서버에 직접 MySQL을 설치하여 서비스 하는것
2. RDS를 이용해 서비스
- RDS는 아마존 관계형 데이터베이스 서비스(Amazon Relational Database Service) 또는 아마존 RDS(Amazon RDS)는 아마존 웹 서비스(AWS)가 서비스하는 분산 관계형 데이터베이스
- RDS는 EC2와 함께 사용하며 아마존에서 DB의 설정, 운영, 백업 등의 기능을 편하게 이용할 수 있게 해주는 EC2와 분리된 DB전용서버
RDS을 사용한다면 추가금액을 내야하기 때문에 1번 방법으로 진행하자😓.
Author And Source
이 문제에 관하여(리팩터링 - 개발 환경 구축 (2) MySQL 설치 및 환경설정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@himinhee/JJMT-리팩터링-개발-환경-구축-2-MySQL설치-및-구현저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)