리눅스

33. 데이터베이스 (2) PHP 와 MySQL 연동

고므띵 2022. 5. 17. 15:04

0. 실습환경 구성

 

 

1. MySQL 설치 및 구성

1.1. MYSQL-Server 설치

  - 리포지토리 구성

 - 호환성 체크 해제

 

 

 - 커뮤니티와 클라이언트 설치

 

  - 서비스 시작

 

  - 기본 패스워드 확인

 

  - 패스워드 변경

 

  - spl 접속

root 사용자로 접속

  - 간단한 명령어 확인

데이터베이스 확인
데이터베이스 사용
테이블 확인
테이블의 속성 정보 확인

  - 원격 접속 권한 부여  : 모든 데이터베이스와 테이블에 권한부여 

  - 설정저장

설정 저장 및 나가기

  - 방화벽 개방

 

 

 

 

1.2. MYSQL-client 설치 및 접속

  - 커뮤니티 설치

  - 호환성 체크 해제

 

  - 클라이언트 설치

  - 데이터베이스 서버로 접속

10.0.0.12 서버로 접속

 

 

2. 데이터베이스 사용

  - 컨트롤+L키로 화면 지우기 가능

  - 데이터베이스에 접속하지않아도 데이터베이스이름.테이블이름 으로 테이블 확인 가능

 

  - 데이터베이스 확인

기존에 생성되어있는 db 확인

 

  - 데이터베이스 생성 및 확인

testdb 생성 확인

 

  - 데이터 베이스 사용

testdb 데이터베이스 사용

 

  - 테이블 생성 및 칼럼 생성 , 확인

테이블 생성 완료

 

속성 확인

 

  - 데이터 입력

데이터 입력 및 확인

 

두번째 데이터 입력 후 확인

 

데이터베이스에 내용 입력

 

select 문을 이용하여 확인

 

 

  - 또 다른 테이블 생성 및 값 입력

uniontb 생성

 

데이터 입력

 

생성한 테이블과 데이터 확인

 

  - 조건문을 통한 원하는 값 출력

no가 3인 레코드 값을 출력

 

no가 1이거나 4인 레코드 출력

 

between 명령어를 통해 3~7 사이에 해당되는 레코드 출력

 

이름이 kim인 레코드 출력

 

in 명령어를 통해 in절안에 내용에 해당되는 레코드 출력

 

like 연산자를 통해 a가 입력되어있는 name을 가진 레코드 출력

 

limit(시작번호, 출력개수): 시작번호 이후에 레코드부터 설정한 출력 개수만큼 출력

 

 

- 집합연산자

테이블의 합집합 표현

 

앞쪽 테이블의 조건에 의해 출력될 데이터가 없기 때문에 뒷부분의 테이블만 출력
sql injection 공격에 쓰이는 방법, 1=1 항상 참값을 대입

 

 

3. web 설치

  - httpd 설치

 

 

  - 리포지토리 설치

EPEL레포지토리 활성화
Remi 리포지토리 활성화
php7.3 remi 리포지토리 활성화

 

  - php 모듈 설치

 

 

 

  - http.conf 설정에서 index.html 을 index.php로 변경

 

 

  - 호스트 pc에서 php 파일 scp 명령어를 통해 리눅스 서버로 이동 ( 파일 형식은 uft-8로 변경 )

php 폴더안 php 파일 4개확인
파일을 /var/www/html 로 복사
이동확인

 

  - 서비스 재시작 및 방화벽 개방

 

 

 

  - w10으로 테스트해보면 DB가 연결되어 있지 않아 연결 실패가 뜨는 것을 볼 수 있다.

 

 

  - 각 파일을 열어서 수정

index.php 수정

 

 

insert1.php 변경

 

person1.php 변경

 

 

table1.php 변경

 

 

 

 

  - sql 서버에서 데이터베이스 test 생성 및  ,  root 사용자에게 권한 부여

 

데이터베이스 test 생성
권한 부여

 

 

  - sql 서버에서 데이터베이스 member 생성 , 테이블 member 생성

 

 

3.1. TEST

  - index.php 접속 화면

 

 

  - person1.php 접속하여 데이터 입력

 

 

  - person1.php 에서 아래 테이블 조회 선택

데이터가 테이블에 삽입