sudo-apt update
sudo-apt upgrade
sudo-apt install -y php

Create DataBase를 클릭 하면, 해당 DB를 설정 할수있는 페이지가 나온다,




해당 부분을 Yes 로 해야 public IP 주소로 연결이 가능하다.
추가적으로 더 많은 설정 부분들이 있지만 실습에서 사용하지 않았지만 추후 더 알아보고, 해당 프로젝트/프로덕트에 맞게 설정 하면 될꺼같다.
이제 데이터베이스 생성하는데, 5분정도의 시간이 걸린다.

엔드포인트가 주소이기때문에 많이 사용되므로 따러 저장 RDS/mysql 기본 포트 3306
// instance 접속후
sudo apt install mysql-client-core-8.0
//mysql 접속
mysql -u admin -p -h 엔드포이트
mysql -u admin -p -h aws******.rds.amazonaws.com
//php 와 mysql 연동
sudo apt install libapache2-mod-php php-mysql
sudo apt-get install php-mysql
sudo service apache2 restart
//php 와 mysql 연동 확인
mysql -u admin -p -h 엔드포인트
mysql -u admin -p -h aws******.rds.amazonaws.com
연동 확인 끝났으면 , Mysql로 DB 생성
//mysql접속
mysql -u admin -p -h 엔드포이트
CREATE DATABASE DB이름;
admin 은 모든 권한을 가지고 있기때문에, admin을 사용해서 DB를 관리 하기보단 따로 사용자를 만들어준 다음 해당 사용자한테 필요한 권한만 주는게 안전하다.
DB User 생성 및 권한
// % 에는 원래 IP address 가 들어가야되지만 모든 IP 에서 사용하가위해 %로 처리 //유저 생성 CREATE USER '유저이름'@'%' IDENTIFIED BY '비번'; //권한 주기 GRANT ALL PRIVILEGES ON 디비명.* TO '유저명'@'%'; //메모리에 반영 flush privileges; //권한 부여 확인 show grants for '유저명'@'%';
원래대로라면 TOAD 라는 프로그램으로 작성 했지만, Mac 에서 Toad 쓰는 법을 몰라서 Mysql workbench로 진행했다
이제 해당 DB 와 php 소스들로 작성해보기 .
우선 페이지들을 생성
<?php $name=$_POST['name'];
$email=$_POST['email'];
$num=$_POST['num'];
$con = mysqli_connect("엔드포이트 ”,”유저이름”,”비번”,”DB이름”)
or die ("Can't access DB");
$query = "insert into student (name,email,num)
values('".$name."','".$email."','".$num."')";
$resut=mysqli_query($con,$query);
if(!$result)
{?>
<script> alert('회원가입이 완료되었습니다.');
location.href="..";
</script>
<?php
} else {?>
<script> alert('회원가입에 실패했습니다.\n다시 시도해 주세요.'); location.href="..";
</script>
<?php } ?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>예제 회원가입</title>
</head>
<body>
<form method="post" action="./signup_action.php">
<label>이름 <input type="text" name='name'> </label><br>
<label>이메일 <input type="email" name='email'> </label><br>
<label>학번 <input type="number" name='num'> </label><br>
<input type="submit" value='가입하기'>
</form>
</body>
</html>
다음과 같이 작성했다. 둘다 /var/www/html 에 저장