라이젠 5 7500f, a620, ddr 5
◆ Xftp설치 +새로만들기 / Rocky, 192.168.0.100 / root / 1234 / 연결
*FTP 서버 : 파일 업로드 / 다운로드
*vsftpd 설치 확인 / 설치 안되어 있으면 설치 하고 서비스 상태 확인 / 가동 / 상시 사용
- dnf -y install vsftpd
- systemctl status vsftpd ⇒ q
- systemctl enable vsftpd
- vsftpd 설치

- vsftpd 시스템 시작 및 영구 동작


*/var/ftp/pub ⇒ 기본 디렉토리 샘플파일 하나 복사해서 넣기 (anaconda~)
- /var/ftp/pub 기본 디렉터리
- /var 밑에 이메일과 ftp가 속한다(용량이 줄어들고 늘어난다)
- 우분투에서 방화벽끄기는 ufw
- 아나콘다 파일 복사해서 넣기

*방화벽은 끄기 : firewalld 만약에 허용하려면 20,21 두개
- 설정파일은 : vi /etc/vsftpd/vsftpd.conf ⇒ 익명사용자 접속 허용 ( anonymous = NO => YES )
- 12 anonymous_enable=YES
- 저장 / 종료 / 서비스 재시작 ⇒ systemctl restart vsftpd
- /etc 설정파일 밑에 vsftpd 디렉터리 찾기

- vsftpd 설정하는 파일

- 익명의 사용자 (anonymouus) 허용해주기

- 설정파일 설정 후에는 무조건 재시작
*윈도우10에서 파일질라 설치 하고 접속 /
- FileZilla_3.60.2_win64_sponsored2-setup 설치 진행.
- ftp 연결 완료

*연결된 후 VM-Win10에서 업로드 / 다운로드 해보기
- 다운은 잘됨, / 업로드는 에러 ( 550 Permission ~ )
*업로드 허용 vi /etc/vsftpd/vsftpd.conf
- 28 anon_upload_enable=YES ⇒ 주석 삭제 익명사용자 업로드 허용
- 32 anon_mkdir_write_enable=YES ⇒ 디렉토리 생성 관련
- *deny_file ={ .mp4, .avi, *.jpg } ⇒ 확장자는 업로드가 금지됨.
- *max_client : 동시접속자 수 설정
*소유권 변경
- drwxr-xr-x 2 root root 36 3월 25 09:29 pub ⇒ 디렉토리 소유권을 ftp.ftp 로 변경.
- #chown ftp.ftp /var/ftp/pub
- vi /etc/vsftpd/vsftpd.conf에서 익명 사용자 업로드 허용

- deny_file : 특정 확장자의 파일 업로드를 금지 하는 것
- max_client : 동시접속자 수 설정
- 설정 파일 조작한 뒤 시스템 재시작
- pub에 있는 파일의 소유자와 그룹을 ftp로 설정하고 권한주기
- 설정한 후엔 시스템 재시작

*서비스 재시작 ⇒ 업로드 해보기 . ⇒ 업로드 성공..
*CLI 모드(텍스트) 리눅스에서 ..
- $ dnf -y install epel-release ⇒ 설치 됨.
- $ dnf -y install ncftp ⇒ 설치

- CLI모드의 리눅스 ftp 설치(epel-release)

- CLI ftp인 ncftp 설치

- ncftp를 통해 파일 업로드/다운로드(get)

NFS 서버 구현 개요
- inux(Unix) 컴퓨터끼리 저장 공간을 공유할 수 있도록 해 주는 시스템이 NFS(Network File System)
- S 서버 구현의 개요도

◆ NFS 서버 ( Network File System )
- ⇒ 네트워크를 통한 저장소(디스크)를 공유해서 사용.
- Server-A
- rpm -qa nfs-utils 설치 확인 ⇒ 설치는 dnf -y install nfs-utils
- nfs 파일 시스템 다운로드

- 공유 파일 생성

*설정 파일은 /etc/exports 아래 내용 입력
- /share *(rw,sync) ⇒ (*는 공유 대상을 뜻하며, 모두이고 특정IP 또는 범위로 입력해도됨 )
- 공유폴더명 (rw:읽기와쓰기 허용, sync: 동기화 즉시적용 )
*서비스 재시작 과 상시 등록 : nfs-server
- 공유 디렉토리 /share 생성과 권한변경(707) 및 파일 몇개 복사 해서 넣기 anaconda
#exportfs -v ⇒ 동작 및 설정 확인
- /share (sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)
- #systemctl stop firewalld
- 확인용 파일 복사하기

- 공유 파일 권한 주기

- 기능 확인

- 동작 상태 확인(방화벽 꺼짐)
@server-B ⇒ nfs-utils 설치가 되어 있어서 바로 확인 부터 .
- [root@localhost ~]# showmount -e 192.168.0.100
- Export list for 192.168.0.100:
/share *
폴더 생성 및 마운트
- #mkdir mytest
- [root@localhost ~]# su -c 'mount -t nfs 192.168.0.100:/share mytest’(루트 권한으로 마운트)
*fstab 에 등록
- 마운트 연결 된 것 확인

- 서버 B에서 공유된 파일 확인

- fstab에 마운트를 등록할 때 root일 때와 일반 사용자일 때의 경로를 적어주는 것이 다르다

@VM 윈도우
- windows 기능 검색 후 켜기/끄기 ⇒ NFS 체크
*cmd 관리자 모드 /
- mount 서버IP:공유디렉토리 ⇒ mount 192.168.0.100/share
- C:\Windows\system32>mount 192.168.0.100:/share *
- Z: 현재 192.168.0.100:/share에 성공적으로 연결되어 있습니다.
- 명령을 완료했습니다. ⇒ 이후 내 PC에서 Z드라이브 보이는건 시간이 조금 걸릴 수 있음.
- 윈도우 10에서 NFS용 서비스 다운로드

- 드라이브 z에서 복사된 파일 확인

- 리눅스에서도 윈도우에서 생성한 파일이 공유된 것을 확인 완료

◆ Samba 서버 윈도우에 연결된 프린트 공유 ⇒ 리눅스 와 연결
-
⇒윈도우 에서 폴더를 공유하고, 리눅스 에서 마운트 시키고
-
@윈도우 C에 폴더 생성 sbtest / 공유탭 / 공유 / 사용자 everyone [ 읽기, 쓰기]
- cmd 창 관리자 / net user root 1234 /add ⇒ root 사용자 생성 net user 확인
- 제어판\사용자 계정\사용자 계정\계정 관리 에서도 생성 확인
- win - 192.168.0.128
- 윈도우 10에서 user만들기(root)

- 리눅스 서버 A에서 삼바 클라이언트 생성(윈도우가 서버)

@Server-A samba 설치 확인 설치가 안되어 있으면 samba-client 설치
- dnf -y install samba-client
- [root@localhost ~]# smbclient -L 192.168.0.128
- Password for [SAMBA\root]:

- [root@localhost ~]# mkdir sambatest
- [root@localhost ~]# mount -t cifs //192.168.0.128/sbtest sambatest ⇒cifs는 삼바 파일시스템
Password for root@//192.168.0.128/sbtest: ⇒ 1234
*확인 해보기
- windows-data-1.txt windows-data-2.txt windows-data-3.txt
- [root@localhost sambatest]# mkdir S-A
- [root@localhost sambatest]# touch S-A.txt
- 삼바 접속

- 윈도우와 마운트 연결(파일 시스템 cifs 중요!)

- 윈도우 10과 연결 완료

- 리눅스에서 파일 생성

- 리눅스가 서버역할 할때는 NFS, 윈도우가 서버역할 할 때는 samba(프린터 역할)
데이터베이스 서버
DBMS 개념 (1)

DBMS 개념 (2)

필수 SQL 구문 (1)
(1) DB와 관련된 SQL 문
- DB 이름 조회
- 구문 : SHOW DATABASES;
예) SHOW DATABASES;
- 사용할 DB 지정
- 구문 : USE 데이터베이스이름;
예) USE shopping_db;
- DB 생성
- 구문 : CREATE DATABASE 데이터베이스이름 ;
예) CREATE DATABASE shopping_db ;
- DB 삭제
- 구문 : DROP DATABASE 데이터베이스이름;
예) DROP DATABASE shopping_db;

필수 SQL 구문 (2)
(2) 테이블 운영과 관련된 SQL 문
- 테이블 이름 조회
- 구문 : SHOW TABLES;
예) SHOW TABLES;
- 테이블 구조(형태) 조회
- 구문 : EXPLAIN 테이블이름; 또는DESC 테이블이름;
예) EXPLAIN customer;
- 테이블 생성
- 구문 : CREATE TABLE 테이블이름 (필드이름1 필드타입1, 필드이름2
필드타입2, ... ...) ;
예) CREATE TABLE customer (id CHAR(10), name VARCHAR(10),
age INT, ADDRESS VARCHAR(30));
- 테이블 삭제
- 구문 : DROP TABLE 테이블이름;
예) DROP TABLE customer;

char: 빈 공간도 사용한다
varchar: 빈공간은 뺀다
필수 SQL 구문 (3)
(2) 테이블 운영과 관련된 SQL 문 <계속>
- 테이블 수정
- 구문 : ALTER TABLE 옵션
예) ALTER TABLE customer MODIFY name CHAR(20);
ALTER TABLE customer CHANGE name fullname CHAR(10);
ALTER TABLE customer ADD phone VARCHAR(20) AFTER name;
ALTER TABLE customer DROP age ;
(3) 레코드 삽입/삭제/수정과 관련된 SQL 문
- 레코드 삽입
- 구문 : INSERT INTO 테이블이름 VALUES (값1, 값2, ... ...);
예) INSERT INTO customer VALUES( ‘hong’ , ‘홍길동’ , 22, ‘경기’);
- 레코드 삭제
- 구문 : DELETE FROM 테이블이름 WHERE 조건;
예) DELETE FROM customer WHERE id=‘hong’;
- 레코드 수정
- 구문 : UPDATE 테이블이름 SET 필드이름1 = 수정할값1, 필드이름2 = 수정
할값2 ....... WHERE 조건;
예) UPDATE customer age=25 WHERE id=‘hong’;
필수 SQL 구문 (4)
(4) 테이블 조회
- 테이블 조회
- 구문 : SELECT 필드이름1, 필드이름2...... FROM 테이블이름
WHERE 조건 ;
예) SELECT * FROM customer;
SELECT id, name FROM customer;
SELECT id, name FROM customer WHERE id = ‘john’;
SELECT id, name FROM customer WHERE age > 25;
Visual Studio와 MariaDB의 연동
- Windows와 MariaDB 서버 간의 연결을 위한 구성도

*Server-A
-MariaDB -
- 파이어 폭스를 이용해서 서버 A에 다운로드

- 압축 해제

- 마리아DB XFTP를 통해 파일 업로드

- 마리아DB 다운로드

*방화벽 에 mysql 등록
- firewall-config / 영구적 / mysql 체크 / 다시불러오기
*mysql ⇒ exit ⇒ 접속이 잘되면 OK
- 마리아db 동작중

- GUI 모드에서 마리아db 허용

- 리눅스에서 mysql 접속해보기

*윈도우에서 접속 가능하도록 설정 .
- [root@sol ~]# mysqladmin -u root password '1234'; ⇒ 사용자 생성 및 암호 설정
- [root@sol ~]# mysql -h localhost -u root -p ⇒ 접속 ⇒ exit
- 메모장으로 마리아 db 입력할 내용 메모장에 미리 써놓기

- 마리아 db 접속 가능 확인하기

*VM 윈도우에서 https://mariadb.org
- install / 설치 진행~~
- cmd 창 관리자 모드 또는 파워쉘
- C:\Program Files\MariaDB 10.9\bin 이동 mysql ⇒ 접속이 안됨.
- 윈도우에서 마리아 db 설치하기

- 마리아 db 설치할 때 클라이언트만 설치하기

- 윈도우에서 마리아 db 명령어가 있는 곳으로 이동하기

- 마리아 db 설치되어 있는 것 확인하기

*Server-A 에서 설정 후 접속
- mysql 옵션의 차이점 : 호스트가 보인다.

- 리눅스에서 윈도우의 mysql 권한 부여

*윈도우에서 다시 접속 해보기
- C:\Program Files\MariaDB 10.9\bin>mysql -h 192.168.0.100 -u winuser -p
- Enter password: **** (1234)
- 윈도우에서 mysql 접속

-
MariaDB [(none)]> create database shopping_db character set utf8;
Query OK, 1 row affected (0.001 sec)
-
MariaDB [(none)]> show databases;
-
MariaDB [(none)]> use shopping_db;
- MariaDB [shopping_db]> create table customer (
-> id varchar(10) not null primary key, ⇒ char은 고정길이값 문자, varchar은 가변길이값 문자
-> name varchar(5),
-> age int, ⇒ int 정수
-> address varchar(10) );
Query OK, 0 rows affected (0.003 sec)
-
MariaDB [shopping_db]> create table purchase (
- -> no int not null primary key auto_increment,
- -> cust_id varchar(10),
- -> date char(8),
- -> product varchar(5) );
Query OK, 0 rows affected (0.002 sec)
-
MariaDB [shopping_db]> desc customer;
- desc purchase; ⇒ 테이블 생성 확인
- mysql 설정

- customer 테이블 만들기

- purchase 테이블 만들기

*테이블에 데이터 입력 ⇒ 아래 내용 복사해서 붙여넣기 하면 에러 .. 입력하거나 메모장에 입력후 복 붙.

- select * from customer;
- select * from purchase;
- 빈 테이블 확인

- 값 넣어주기

- 메모장에 있는 값 넣어주기

*Windows 와 리눅스 연결 = ODBC
*윈도우에서
VS설치
설치가 끝나면 설치 창을 닫고 윈도우 재부팅 ~~ 하고 스냅샷.
- select를 통해 customer 테이블 확인하기

- id와 이름만 확인하기

- 이름과 id만 확인하기

- '이뿌니'의 이름과 나이만 확인하기

- vm 웨어에서 비주얼 스튜디오 설치

- 설치가 끝나면 설치 창을 닫고 윈도우 재부팅 ~~ 하고 스냅샷.
*ODBC 설치 / 기본값으로 설치
*제어판 / 시스템 및 보안 / 관리도구 / 아래 두가지 확인
- ODBC Data Sources (32-bit)
- ODBC 데이터 원본(64비트) 클릭 / 시스템 DSN 탭 선택 [ 추가] / MySQL ODBC Unicode Driver 선택 / 마침

*윈도우 / 제어판 / NET Framework 3.5 체크 ⇒ 다시 시작 /