[์ผ] ๋ฐฑ์๋ ์๋ฒ, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋ฒ ๋ถ๋ฆฌ (MySQL ์ง์ ์ด์)
๋์ผํ ์๋ฒ ๋ด์ ๋ฐฑ์๋, ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์์นํ๊ณ ์์๋ค
์์๋ก Docker๋ก ์ฌ๋ ค๋๊ณ ์ฌ์ฉํ๊ณ ์์๋๋ฐ ec2 ๋ถ๋ฆฌํ๋ ๊น์ AWS RDS๋ ๋น์ธ๋ ์ง์ ์ค์นํ์ฌ ์ฌ์ฉํ๊ธฐ๋ก ํ๋ค
- mysql์ ์ ๊ทผํ ๋ ์ฌ์ฉํ ์ ์ ์ด๋ฆ, ํจ์ค์๋ ์ค์
spring.datasource.url=jdbc:mysql://<MySQL_Server_Private_IP>:3306/<๋ฐ์ดํฐ๋ฒ ์ด์ค>
spring.datasource.username=<username>
spring.datasource.password=<password>
1. ec2 ์์ฑ
2. MySQL ์ค์น
sudo apt update
sudo apt install mysql-server
mysql -h <MySQL_Server_Private_IP> -u <username> -p
3. MySQL ๋ณด์ ์ค์ ์คํ
mysql_secure_installation
VALIDATE PASSWORD COMPONENT ์ฌ์ฉ ์ฌ๋ถ : y(Yes) ๋๋ n(No) ์ ํ (์ ํ ์ฌํญ)
์ต๋ช ์ฌ์ฉ์ ์ญ์ → Y
์๊ฒฉ Root ์ ์ ๋นํ์ฑํ → Y
ํ ์คํธ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ญ์ → Y
๊ถํ ์ ์ฉ → Y
4. ์ ์ ์์ฑ
๐ MySQL์ auth_socket ํ๋ฌ๊ทธ์ธ์ด๋?
auth_socket์ MySQL์ด Linux ์์คํ ์ ์ฌ์ฉ์ ์ธ์ฆ์ ์ง์ ํ์ฉํ๋ ๋ฐฉ์
MySQL root ๊ณ์ ์ ์ ์ํ ๋ ๋ณ๋์ ๋น๋ฐ๋ฒํธ ์์ด๋ Linux ์์คํ ๊ณ์ (root ๋๋ mysql)์ผ๋ก ๋ก๊ทธ์ธํ๋ฉด ์๋์ผ๋ก ์ธ์ฆ๋จ
์ด ๋ฐฉ์์ ๋ณด์์ฑ์ ๋์ด๊ณ , ์์คํ ๊ด๋ฆฌ์์ MySQL ์ ๊ทผ์ ๊ฐํธํ๊ฒ ๋ง๋ค์ด ์ค
CREATE USER '<username>'@'%' IDENTIFIED BY '<password>';
GRANT ALL PRIVILEGES ON <๋ฐ์ดํฐ๋ฒ ์ด์ค>.* TO '<username>'@'%';
(์ต์๊ถํ์ ์์น) ์ง์ ํ
์ด๋ธ ๊ตฌ์กฐ ๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅํ๋๋ก ํ๋ ๊ฒ์ด ๋ณด์์ ๋ ์ข์ง๋ง..
5. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฑ
CREATE DATABASE IF NOT EXISTS <๋ฐ์ดํฐ๋ฒ ์ด์ค>;
6. MySQL ์๊ฒฉ ์ ์ ํ์ฑํ
๊ธฐ๋ณธ์ ์ผ๋ก ๋ก์ปฌ์์๋ง ์ ์ ๊ฐ๋ฅํ๋๋ก ์ค์ ๋์ด ์๋ค
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
bind-address = 0.0.0.0
7. MySQL์ด ์๋ EC2์ ๋ณด์ ๊ทธ๋ฃน ๊ท์น ์์
๋ฐฑ์๋ ๋ณด์ ๊ทธ๋ฃน์์๋ง ์ ๊ทผ ๊ฐ๋ฅํ๋๋ก ๋ณ๊ฒฝ
8. ๋ฐฑ์๋ ์๋ฒ์์ MySQL ์ ์์ด ๊ฐ๋ฅํ์ง ํ์ธ