πŸ“ AWS EC2 μ΄μš©ν•˜μ—¬ MySQL μ„œλ²„μš© μΈμŠ€ν„΄μŠ€ μ œμž‘ ( κ°œμΈν”„λ‘œμ νŠΈ )

10_2pangΒ·2023λ…„ 8μ›” 14일
1

βš½οΈνŠΈλŸ¬λΈ”μŠˆνŒ…

λͺ©λ‘ 보기
85/94
post-thumbnail

πŸ‘¨β€πŸ’»Β μ‚¬κ±΄


λ³€ν™˜ν•œ SQL λ¬Έ 을 MySQL 에 λ„£μ–΄μ•Όν•˜λŠ”λ°, μ‹€μ œ λ°°ν¬μ‹œ μœ μ§€λ˜μ–΄μ•Όν•  μ„œλ²„λ₯Ό μ°Ύκ³ μžν•˜μ˜€λ‹€.

주둜 μΆ”μ²œν•˜λŠ” 것이 AWS 의 EC2 λ₯Ό μΆ”μ²œν•˜μ—¬μ„œ, λ°”λ‘œ μ‚¬μš©ν•΄λ³΄κΈ°λ‘œ ν•˜μ˜€λ‹€.

βœ…Β ν•΄κ²°


AWS EC2 μ‚¬μš©κΈ°λ₯Ό κΈ°λ‘ν•΄λ³΄κ³ μž ν•œλ‹€.

μΈμŠ€ν„΄μŠ€ 생성

ubuntu κ°€ μ•„λ¬΄λž˜λ„ λ ˆνΌλŸ°μŠ€κ°€ 많고, μ΄ˆλ³΄μžκ°€ 닀루기 쉽닀고 νŒλ‹¨ν•˜μ—¬ μ„ νƒν•˜μ˜€λ‹€.

무쑰건적으둜 μž‘μ„±ν•΄μ•Όν•˜λŠ” λΆ€λΆ„λ§Œ λͺ…μ‹œν•΄λ³΄λ„λ‘ ν•˜κ² λ‹€.

  1. 이름 ( μΈμŠ€ν„΄μŠ€ 이름 ) - PPP
  2. OS 선택 - Ubuntu
  3. ν‚€ νŽ˜μ–΄ ( μƒˆ ν‚€ νŽ˜μ–΄ 생성 )
  4. μΈμŠ€ν„΄μŠ€ 개수 - 1개

❗️ " ν‚€ νŽ˜μ–΄λŠ” μžμœ μž…μž₯ꢌ " κ³Ό λΉ„μŠ·ν•œ μ—­ν• μ΄λ‹ˆ κΌ­!! 잘 λ³΄κ΄€ν•˜μ—¬μ•Όν•œλ‹€. μ—†μ–΄μ§€λ©΄ μ ˆλŒ€λ‘œ ν•΄λ‹Ή μΈμŠ€ν„΄μŠ€μ— μ ‘κ·Όν•˜μ§€ λͺ»ν•œλ‹€. + μΆ”κ°€μ μœΌλ‘œ, μΈμŠ€ν„΄μŠ€ κ°œμˆ˜λ„ 1개둜 ν•œλ‹€. μΈμŠ€ν„΄μŠ€λŠ” λ‚΄κ°€ 빌리고자 ν•˜λŠ” μ»΄ν“¨ν„°μ˜ κ°œμˆ˜μ™€λ„ λ™μΌν•˜κΈ° λ•Œλ¬Έμ΄λ‹€.

λ³΄μ•ˆ μ„€μ •

일단 내뢀에 μ ‘κ·Όν•˜μ—¬ λŒμ•„κ°€λŠ”μ§€ 확인을 ν•˜κΈ°μœ„ν•΄, μΈλ°”μš΄λ“œ κ·œμΉ™ μ—μ„œ λͺ¨λ“  IP λ₯Ό ν—ˆμš©ν•΄μ€€λ‹€.

μΈμŠ€ν„΄μŠ€ 접속

ν•΄λ‹Ή μΈμŠ€ν„΄μŠ€λ₯Ό μ„ νƒν•˜μ—¬ μ—°κ²° λ²„νŠΌμ„ λˆ„λ₯Έλ‹€.
그러면 4개의 μ„ νƒμ§€λ‘œ μΈμŠ€ν„΄μŠ€ 접속이 κ°€λŠ₯ν•˜λ‹€.

이미지에 λ³΄μ΄λŠ” 방법을 μ„ νƒν•˜λŠ”κ²Œ κ°€μž₯ λΉ λ₯΄κ³  νŽΈν• κ²ƒμ΄λ‹€.

κ·ΈλŸ¬λ‚˜, λ‚˜λŠ” ν‚€ νŽ˜μ–΄λ₯Ό μ‚¬μš©ν•΄λ³΄κ³ μž SSH ν΄λΌμ΄μ–ΈνŠΈ 방식을 νƒν•˜μ˜€λ‹€.

πŸ• 터미널 접속

  1. 터미널에 μ ‘μ†ν•˜μ—¬, ν‚€ νŽ˜μ–΄μ˜ μœ„μΉ˜ 둜 λ“€μ–΄κ°‘λ‹ˆλ‹€.
  2. λͺ…λ Ήμ–΄λ₯Ό 톡해, ν•΄λ‹Ή ν‚€ νŽ˜μ–΄λ₯Ό 곡개적으둜 λ³Ό 수 없도둝 λͺ…λ Ήμ–΄λ₯Ό μž…λ ₯ν•©λ‹ˆλ‹€.
chmod 400 [ν‚€νŽ˜μ–΄ 이름].pem
  1. 퍼블릭 DNS λ₯Ό 톡해 μ—°κ²°ν•©λ‹ˆλ‹€.
ssh -i "[ν‚€νŽ˜μ–΄ 이름].pem" ubuntu@[퍼블릭DNS]

πŸ•‘ MySQL μ„€μΉ˜ 및 μ„€μ •

  1. λ¨Όμ €, μ„€μΉ˜λ₯Ό μœ„ν•΄ νŒ¨ν‚€μ§€ μΈμŠ€ν†¨λŸ¬ μ—…λ°μ΄νŠΈλ₯Ό ν•΄μ€λ‹ˆλ‹€.
sudo apt update
  1. MySQL 을 μ„€μΉ˜ν•©λ‹ˆλ‹€.
sudo apt install mysql-server
  1. MySQL 에 μ ‘κ·Όν•˜κΈ°
sudo mysql -u root
  1. Root λΉ„λ°€ 번호 μΆ”κ°€
// 8 버전 μ‚¬μš©μž
mysql> alter user "root"@"localhost" identified with mysql_native_password by "μ•”ν˜Έ";
  1. DB 생성 및 μ‚¬μš©μž 계정 μΆ”κ°€
mysql> create database [λ°μ΄ν„°λ² μ΄μŠ€λͺ…];

mysql> create user 'μ‚¬μš©μžλͺ…'@'%' identified by 'νŒ¨μŠ€μ›Œλ“œ';

// μƒμ„±ν•œ 데이터 베이슀의 λͺ¨λ“  데이터에, μΆ”κ°€λœ μ‚¬μš©μžκ°€ 접속가λŠ₯ν•˜λ„λ‘ μ„€μ •
mysql> grant all on [λ°μ΄ν„°λ² μ΄μŠ€λͺ…].* to 'μ‚¬μš©μžλͺ…'@'%' with grant option;

mysql> flush privileges;
  1. μ™ΈλΆ€ 접속 ν—ˆμš©ν•˜κΈ°
    MySQL 을 exit ν•˜μ—¬ μ’…λ£Œν•œλ’€, μ•„λž˜μ˜ λͺ…λ Ήμ–΄λ₯Ό μž…λ ₯ν•œλ‹€.
// 졜고 κΆŒν•œ λΆ€μ—¬
sudo su

// 디렉토리 이동
cd etc/mysql/mysql.conf.d

//vim 으둜 mysqld.cnf 파일 μ‹€ν–‰
vi mysqld.cnf

// bind-address μˆ˜μ •ν•˜κΈ° ( 주석 μ²˜λ¦¬λ˜μ—ˆμœΌλ©΄ μ£Όμ„μ²˜λ¦¬λ„ 제거 )
bind-address = 0.0.0.0
  1. MySQL μž¬μ‹œμž‘
sudo service mysql restart

πŸ•’ MySQL Workbench 둜 접속

  • Hostname : 퍼블릭IP
  • Username : κΆŒν•œ 뢀여받은 μ‚¬μš©μž λͺ…
  • Password : νŒ¨μŠ€μ›Œλ“œ
  • Default Schema : κΆŒν•œ λ“±λ‘λœ Database 이름 ( 선택 )

λ“±λ‘ν•˜μ—¬, λ™μž‘μ΄ λ˜λŠ”μ§€ ν™•μΈν•œλ‹€.

ν˜„μž¬κΉŒμ§€ μž‘μ—… 상황

πŸ’­Β κ°œμ„ 


  • 사진 μ—…λ‘œλ“œλŠ” AWS S3 둜 μ§„ν–‰ν•  μ˜ˆμ •μ΄λ‹€.
  • EC2의 μΈμŠ€ν„΄μŠ€ μ„œλ²„μ— 이번 ν”„λ‘œμ νŠΈμ— ν•„μš”ν•œ λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό μƒμ„±ν•΄μ•Όν•œλ‹€.
profile
μ£Όλ‹ˆμ–΄ ν”„λ‘ νŠΈμ—”λ“œ 개발자 이광렬 μž…λ‹ˆλ‹€ 🌸

0개의 λŒ“κΈ€