컴퓨터 43

데이터베이스 언어 정리 (DDL / DML / DCL) (1) - DDL 편

DDL (데이터 정의어): 데이터베이스 생성 (스키마 표현) SQL 명령어 기능 CREATE 데이터베이스 구조 생성 (객체 생성) ALTER (ALTER ~ ADD) 데이터베이스 구조 수정 (릴레이션 스키마 수정) ALTER (ALTER ~ DROP) 데이터베이스 구조 수정 (릴레이션 스키마 수정) ALTER (ALTER ~ MODIFY) 데이터베이스 구조 수정 (릴레이션 스키마 수정) DROP 데이터베이스 구조 삭제 (객체 삭제) CREATE TABLE 테이블 이름 (); INT: 숫자 자료형 VARCHAR(숫자): 문자열 자료형 TINYINT: 작은 숫자 자료형 DATE: 날짜 자료형 CREATE TABLE people( person_id INT, person_name VARCHAR(10), age ..

CentOS8에서 NginX를 이용해 FTP 서버 구축

네트워크를 통해 파일을 전송하기 위한 표준 프로토콜 중 하나 클라이언트와 서버 간에 파일을 교환하는 데 사용되며, 주로 파일을 업로드(클라이언트에서 서버로 파일 보내기)와 다운로드(서버에서 클라이언트로 파일 받기)를 지원 1. vsftpd 서비스 설치 [root@localhost ~]# dnf search vsftpd [root@localhost ~]# dnf install vsftpd 2. vsftpd.conf 파일 설정 위치: /etx/vsftpd/ [root@localhost ~]# vi /etc/vsftpd/vsftpd.conf # Allow anonymous FTP? (Beware - allowed by default if you comment this out). anonymous_enable=..

Web Server 2024.02.01

CentOS8에서 NginX를 이용해 NFS 서버 구축

여러 컴퓨터 간에 파일 및 디렉터리를 공유하기 위한 분산 파일 시스템 프로토콜 유닉스와 유닉스 계열의 운영체제에서 사용되며, 서버와 클라이언트 간의 효율적인 파일 공유 및 접근을 지원 마운트를 이용하여 서버 간 파일 공유 NFS 서버: 192.168.202.3 / 클라이언트 서버: 192.168.113.10 1. NFS 서비스 설치 yum install nfs-utils systemctl start nfs-server systemctl enable nfs-server systemctl status nfs-server 2. 마운트 대상 폴더 (/etc/mkdir /usr/share) 생성 실습자가 다른 곳으로 지정해도 됨. 3. exports 폴더 작성 및 확인 cd /etc vi exports /usr/..

Web Server 2024.01.31

CentOS8에서 NginX 네임서버 DNS와 부하분산 설정 (2)

둘, 셋 이상의 중앙처리장치 혹은 저장장치와 같은 컴퓨터 자원들에게 작업을 나누는 것 대규모 트래픽 또는 다수의 사용자 요청을 처리하는 서버 시스템에서 효과적으로 작동 1. 성능 향상: 서버 또는 자원 간의 부하를 균등하게 분배함으로써 전체적인 성능을 향상 2. 확장성: 부하분산은 새로운 서버나 자원을 추가하여 시스템의 확장성을 쉽게 구현할 수 있게 합니다. 이는 사용자나 트래픽이 증가할 때 유연하게 대응할 수 있는 장점을 제공 https://ssalgaga.tistory.com/80 1. /etc/hosts에 서버 추가 (부하 분산 할 서버 추가) 기존에는 192.168.113.10 서버만 등록되어 있었음 2. /etc/nginx/conf.d/default.conf 설정 추가 #http { #upstr..

Web Server 2024.01.30

CentOS8에서 NginX 네임서버 DNS와 부하분산 설정 (1)

인터넷에서 사용되는 컴퓨터 및 기기들의 IP 주소를 사람이 이해하기 쉬운 도메인 이름으로 매핑해주는 시스템 1. DNS 서비스 설치 yum -y install bind* 2. 방화벽 설정 firewall-cmd --permanent --zone=public --add-service=dn firewall-cmd --permanent --add-port=53/tcp firewall-cmd --reload firewall-cmd --list-all 3. named 서비스 가동 systemctl restart named systemctl enable named systemctl status named 1. /etc/hosts 2. resolv.conf 3. /etc/named.rfc1912.zones 4. ha..

Web Server 2024.01.28

SQL 함수 간단 실습 :: 서브쿼리 (비상관 커리, 상관 커리)

쿼리 안에 쿼리 작성 SELECT *, (SELECT * FROM...) FROM... WHERE ... (SELECT * FROM...) 비상관 서브커리: 연계되지 않고 독립적으로 반환되는 서브쿼리 SELECT categoryid, categoryname, DESCRIPTION, (SELECT productname FROM products WHERE `ProductID` = 1) FROM categories; >>categories의 categoryid, categoryname, DESCRIPTION를 출력하고, products의 ProductID가 1인 경우, productname를 출력해라. SELECT * FROM products WHERE price < (SELECT AVG(`Price`) FR..

SQL 함수 간단 실습 :: JOIN (내부 조인, 외부 조인, 셀프 조인)

JOIN: 여러개의 테이블을 연결해서 정보를 보는 방법 내부조인 (Inner Join): 테이블A와 테이블B 중 Key 값이 같은 정보를 모두 합쳐라 SELECT * FROM categories C JOIN products P ON C.`CategoryID` = P.`CategoryID`; >> categories (C)와 products (P) 중 `CategoryID`가 같은 데이터를 출력 SELECT C.categoryid, C.categoryname, P.productname FROM categories C JOIN products P ON C.`CategoryID` = P.`CategoryID`; P=products C=categories >> categories(C)와 products(P)에서..

SQL 함수 간단 실습 :: 시간/날짜 관련 함수

CURRENT_DATE, CURDATE: 현재 날짜 반환 CURRENT_DATE, CURTIME: 현재 시간 반환 CURRENT_TIMESTAMP, NOW: 현재 시간과 날짜 반환 (1900) SELECT CURDATE(), CURTIME(), NOW(); DATE(): 문자열을 날짜로 생성 TIME(): 문자열을 시간으로 생성 SELECT * FROM orders WHERE orderdate BETWEEN DATE('1997-1-1') AND DATE('1997-1-31'); >> '1997-1-1'을 날짜로 생성한 것과 '1997-1-31'을 날짜로 생성한 기간 사이에 있는 orders 테이블의 모든 항목을 출력하시오. YEAR, MONTHNAME, MONTH, WEEKDAY, DAYNAME 년, 월..

SQL 함수 간단 실습 :: 문자열 관련 함수

UCASE, UPPER: 대문자 LCASE, LOWER: 소문자 SELECT UCASE(customername), LCASE(customername) FROM customers; >> customers에서 customername을 대문자와 소문자로 변형하여 출력하시오. CONCAT(...): 문자열 연결 함수 SELECT CONCAT('Hello', ' ', 'This is ', 2024); CONCAT_WS(S, ...): …을 S로 이어 붙여줌 SELECT CONCAT_WS('-', 2024, 01, 05); >> 2024-1-5 (숫자로 취급하여 0이 사라짐) SELECT CONCAT_WS(' ', firstname, lastname) AS FullName FROM employees; >> empl..