6주차-2 MariaDB 접속 및 기본 사용 실습

아이수베어·2022년 1월 21일
0

AFOS[2기]

목록 보기
13/29
post-thumbnail

CloudFormation 스택 생성하기 - 링크 클릭 후 템플릿 파일로 기본 환경 자동 배포
https://console.aws.amazon.com/cloudformation/home?region=ap-northeast-2#/stacks/new?stackName=DBLab&templateURL=https:%2F%2Fs3.ap-northeast-2.amazonaws.com%2Fcloudformation.cloudneta.net%2FDB%2Faws-db.yaml

다음 클릭
스크린샷 2021-07-15 오전 1 01 45

키 설정 후 다음 클릭
스크린샷 2021-07-15 오전 1 01 51

기본 값으로 두고 다음 클릭
스크린샷 2021-07-15 오전 1 01 58

스택 생성 클릭
스크린샷 2021-07-15 오전 1 02 04

DBLab이 생성되었습니다
스크린샷 2021-07-15 오전 1 03 36

SSH로 WebSrv 접속 후

# IP확인 및 DBSrv ping 테스트
ip a
ping 10.1.2.10

# DBSrv 로 MySQL 접속 (계정 정보: root/qwe123)
mysql -h 10.1.2.10 -uroot -pqwe123
스크린샷 2021-07-15 오전 1 06 18 스크린샷 2021-07-15 오전 1 06 33 스크린샷 2021-07-15 오전 1 06 53

SSH로 DBSrv에 접속 후

# IP확인
ip a

# MySQL 접속 (계정 정보: root/qwe123)
mysql -uroot -pqwe123
스크린샷 2021-07-15 오전 1 07 06 스크린샷 2021-07-15 오전 1 07 17

MariaDB 에서 기본적인 SQL문 사용해보기

# DB 서버의 상태 정보
MariaDB [(none)]> status;

# 데이터베이스(=스키마) 확인
SHOW DATABASES;

# employees 데이터베이스 선택 하기
USE employees;
MariaDB [(none)]> **USE employees;**
MariaDB [**employees**]>

# 테이블 확인
SHOW TABLES;

# 테이블 필드와 타입 등 정보 확인
DESC employees;

# employees 테이블 조회 하기
SELECT * FROM employees;
SELECT * FROM employees LIMIT 10;

# 특정 열(컬럼=필드) 기준 오름/내림차순으로 정렬 조회 하기
# -- 공백이 있는 개체의 이름 사용 시는 백틱(backtick) `` 으로 묶어줘야 하나의 이름으로 인식함
SELECT * FROM employees ORDER BY `emp_no` DESC LIMIT 100;

# 특정 행(=로우=레코드)만 출력 - Mary 이름(first_name) , Baba 성(last_name)
SELECT * FROM employees WHERE first_name = 'Mary';
스크린샷 2021-07-15 오전 1 07 35 스크린샷 2021-07-15 오전 1 07 50 스크린샷 2021-07-15 오전 1 08 06 스크린샷 2021-07-15 오전 1 08 22 스크린샷 2021-07-15 오전 1 09 45 스크린샷 2021-07-15 오전 1 10 12 스크린샷 2021-07-15 오전 1 10 22 스크린샷 2021-07-15 오전 1 10 34 스크린샷 2021-07-15 오전 1 10 58

생성 및 데이터(레코드) 생성 변경

# 스키마(=데이터베이스) 생성
CREATE SCHEMA `shopdb`;
**SHOW DATABASES;**
USE shopdb;

# 테이블 생성 - (Workbench) GUI 설정 보여주기 - 아래 복붙해서 적용하기
CREATE TABLE `shopdb`.`memberTBL` (
  `memberID` CHAR(8) NOT NULL,
  `memberName` CHAR(5) NOT NULL,
  `memberAddress` CHAR(20) NULL,
  `age` INT NOT NULL,
  PRIMARY KEY (`memberID`));

# 테이블 정보 확인
DESC memberTBL;

# 데이터 넣기 - (Workbench) GUI 설정 보여주기 - (카톡 멤버 정보 받기) - 아래 복붙해서 적용하기
SELECT * FROM memberTBL;

# 행(=데이터=레코드) 1개 넣기
INSERT INTO memberTBL VALUES ('icebear2n2', '아이수베어', '제주도 제주시', '19');

## 카톡 멤버 정보 받아서 넣기
INSERT INTO memberTBL VALUES ('Gasida', '가시다', '서울 잠실동 분당구', '30');
INSERT INTO memberTBL VALUES ('User4', '유나', '경기 성남시 분당구', '27');
INSERT INTO memberTBL VALUES ('Minyoung', '민영', '경기도 부천시 중동', '30'); 
INSERT INTO memberTBL VALUES ('Eunji', '은지', '인천 남구 주안동', '28');
INSERT INTO memberTBL VALUES ('Yujeong', '유정', '서울 은평구 증산동', '29'); 

# 조회
SELECT * FROM memberTBL;
SELECT memberName, memberAddress FROM memberTBL;
SELECT * FROM memberTBL WHERE age = 27;

# 행(=데이터=레코드) 변경(=업데이트)
UPDATE memberTBL SET memberID='Yuna' WHERE memberName='유나';
SELECT * FROM memberTBL;
스크린샷 2021-07-15 오전 1 11 25 스크린샷 2021-07-15 오전 1 11 36 스크린샷 2021-07-15 오전 1 11 48 스크린샷 2021-07-15 오전 1 12 00 스크린샷 2021-07-15 오전 1 12 13 스크린샷 2021-07-15 오전 1 12 57 스크린샷 2021-07-15 오전 1 14 55 스크린샷 2021-07-15 오전 1 15 43 스크린샷 2021-07-15 오전 1 16 10 스크린샷 2021-07-15 오전 1 17 00 스크린샷 2021-07-15 오전 1 17 21 스크린샷 2021-07-15 오전 1 17 32 스크린샷 2021-07-15 오전 1 17 41

트리 파일 확인

tree /var/www/html
스크린샷 2021-07-15 오전 1 19 05

심화 옵션)HTTP://WebEC2_PublicIP/php_mysql/1.php 형식으로 접속

1.php 접속
스크린샷 2021-07-15 오전 1 19 37

curl localhost/php_mysql/1.php
스크린샷 2021-07-15 오전 1 20 21

2.php 접속

while true; do mysql -h 10.1.2.10 -uroot -pqwe123 -e "show databases;"; date; sleep 1; done 
스크린샷 2021-07-15 오전 1 22 08 스크린샷 2021-07-15 오전 1 22 19

3.php 접속

while true; do mysql -h 10.1.2.10 -uroot -pqwe123 -e "USE sqlDB2;show tables;"; date; sleep 1; done
스크린샷 2021-07-15 오전 1 22 40 스크린샷 2021-07-15 오전 1 22 55

4.php 접속

while true; do mysql -h 10.1.2.10 -uroot -pqwe123 -e "USE sqlDB2;select * from userTbl;"; date; sleep 1; done
스크린샷 2021-07-15 오전 1 23 09 스크린샷 2021-07-15 오전 1 23 18

5.php 접속
스크린샷 2021-07-15 오전 1 23 33

직접 레코드 추가 후 웹 페이지(5.php) 반영 확인

mysql -h 10.1.2.10 -uroot -pqwe123
USE sqlDB2;
INSERT INTO userTbl VALUES ('AAA', '가시다', 2000, '전주', '019', '1234567', 179, '2015-5-5');
스크린샷 2021-07-15 오전 1 23 45 스크린샷 2021-07-15 오전 1 24 26 스크린샷 2021-07-15 오전 1 25 21

다시 5.php를 조회해보면 내가 추가된 걸 볼 수 있다
스크린샷 2021-07-15 오전 1 25 31

심화 옵션) 회원 관리 시스템

HTTP://WebEC2_PublicIP/usermgmt/main.html 형식으로 접속
스크린샷 2021-07-15 오전 1 26 44

신규 회원 등록을 누른 후에 정보를 입력
스크린샷 2021-07-15 오전 1 27 24

오 등록이 되었습니다
스크린샷 2021-07-15 오전 1 27 35

회원을 조회해보니 가시다님이랑 제가 있네요 ㅎㅎ
스크린샷 2021-07-15 오전 1 27 46

자 회원 삭제를 해줍시다
스크린샷 2021-07-15 오전 1 27 52

회원 삭제를 클릭
스크린샷 2021-07-15 오전 1 27 57

삭제 되었네요
스크린샷 2021-07-15 오전 1 28 01

보시다시피 제가 사라졌습니다
스크린샷 2021-07-15 오전 1 28 06


참고 자료 : AFOS[2기] 노션 내용

profile
Junior Cloud Engineer

0개의 댓글