데이터베이스
- 데이터베이스: 서로 관련성을 가진 데이터들을 데이터 간의 중복성을 최소화해서 체계적으로 모아놓은 것
- 관계형 데이터베이스: 데이터를 테이블(표)로 표현
- 데이터: 각 항목에 저장되는 값
- 테이블: 데이터를 체계화하여 행과 열의 형태로 구성한 것으로 테이블 이름을 붙임
- 필드: 테이블의 열, column
- 레코드: 테이블에 저장한 한 행의 정보, 한 행에 여러 필드의 값이 저장될 수 있음, Tuple
- 키: 레코드를 구성하는 필드에서 각 레코드를 구분할 수 있는 필드 값을 의미, 키로 선택된 필드의 값은 중복될 수 없음
SQL
- Structured Query Language
- 관계형 데이터베이스 생성, 테이블 생성, 데이터 입력/삭제/수정 등
SQL 명령
- 기존 DB 목록 출력: show databases;
- 새로운 DB 생성: create database DB명;
- DB 삭제: drop database DB명;
- 사용할 DB 지정: use DB명;
- 접근 권한 부여: grant all privileges on DB명.* to 사용자계정@localhost identified by '패스워드';
SQL 명령 - 테이블 관련
자료형 |
설명 |
varchar(n) |
최대 n개의 크기를 가진 가변 문자열 |
char(n) |
n개의 크기를 가진 고정 문자열 |
int |
정수형 숫자 |
float |
실수형 숫자 |
date |
날짜 |
time |
시간 |
- 테이블 생성: create table 테이블명(필드명1 필드명1의자료형, 필드명2 필드명2의자료형, ... );
- 테이블 구조 보기: explain 테이블명;
- 테이블 수정(구조 변경): alter table 테이블명 수정명령
- 테이블에 필드 추가: alter table 테이블명 add 필드명 자료형
- 필드의 자료형 변경: alter table 테이블명 modify 필드명 자료형
- 필드 삭제: alter table 테이블명 drop column 필드명
- 기본 키 추가: alter table 테이블명 add constraint 제약조건명 primary key (필드명);
- 테이블 삭제: drop table 테이블명;
SQL 명령 - 레코드 관련
- 레코드 삽입: insert into 테이블명 values (값1, 값2, ...);
- 레코드 수정: update 테이블명 set 필드명1=수정할값1, 필드명2=수정할값2, ... where 조건;
- 레코드 삭제: delete from 테이블명 where 조건;
- 레코드 검색: select 필드명1, 필드명2, ... from 테이블명 where 조건;
MariaDB
- 설치: sudo apt-get install mariadb-server
- mariadb.service 활성화 시 DB 서버 활성화
- DB 목록 확인: show databases;
- DB 생성: create database DB명;
- DB 사용: use DB명;
- 테이블 확인: show tables;
웹 서버
- apache 설치: sudo apt install apache2
- 현재 웹 서버의 기본 디렉터리: /var/www/html
- 브라우저에서 http://IP주소/my.html에 접속
- 웹 설정 관련 파일: /etc/apache2/mods-available/userdir.conf
- 일반 사용자 계정을 위한 웹 설정
- userdir.conf에서 UserDir disabled를 주석처리함으로써 사용자 디렉터리에서 웹 페이지 구축을 허용
- mods-available 디렉터리의 userdir.conf 파일과 userdir.load 파일을 mods-enabled 디렉터리에서 심벌릭 링크로 연결
- 설정 파일 변경 후 apache2 서비스 재시작: sudo systemctl restart apache2
- 사용자 홈 디렉터리에서 public.html 디렉터리 생성
- public_html 디렉터리 아래에 index.html 파일 생성
- 웹 브라우저에서 html 문서를 확인: http://웹서버주소/~사용자계정
APM 및 PHP 설치
- 웹 서버 아파치, 웹 프로그래밍 언어인 PHP, DB인 MySQL(MariaDB)를 묶어서 APM이라 부름
- APM을 연동하기 위해 설치할 PHP 패키지: php5, php5-gd, php5-mysql
- sudo apt install php php-gd php-mysql