2022. 5. 8. 21:02 DB/mysql

복제용 docker image

docker exec -it mysql-study1 bash

mysql -u root -p

apt-get update

apt-get install vim

 

my.cnf 파일 수정하고

 

mysql> create database study;

mysql > grant all privileges on study.* to 'test'@'%';
mysql > flush privileges;

 

 

 

docker hub 에 업로딩 할 repository를 생성

 

docker commit -m "slipp mysql study" -a "gt1000@gmail.com" mysql-study1 mysql-study:1.1
docker tag mysql-study:1.1 gt1000/mysql-study:1.1
docker push gt1000/mysql-study:1.1

docker run -d -p 13306:3306 --name mysql-study2 gt1000/mysql-study:1.1

 

이렇게 업로딩 한 이미지에는....  my.cnf 파일 설정한것은 들어가 있는데...

database 작업이 하나도 안 들어가 있다.

 

그리고 docker run 으로 생성한 mysql 은 run 한 후에

exec 로 바로 접속해서 mysql -u root -p 를 하면 안 먹히고

컨테이너를 한번 stop, start 하면... 접속이 된다.

 

이유를 모르겠다. 나중에 시간되면 찾아 봐야 할거 같다.

 

replication 할려면... link 로 띄워야 하나?

docker run -i -t -h slave1 --name slave1 --link master:master ubuntu:hadoop_2.7.7

이러면 설정 파일은 어떻게 세팅을 하지?

내일 해야 겠다.

 

 

'DB > mysql' 카테고리의 다른 글

InnoDB 클러스터  (0) 2022.06.01
docker를 이용한 cluster 구축  (0) 2022.05.30
[Real Mysql 2권] 11. 쿼리 작성 및 최적화  (0) 2022.04.20
docker 를 이용한 mysql 설치  (0) 2022.02.15
Posted by gt1000

11. 쿼리 작성 및 최적화

11.1 쿼리 작성과 연관된 시스템 변수

11.1.1 SQL 모드

 - sql_mode 라는 시스템 설정

 - 확인하는 방법은 아래 sql을 실행

  • SELECT @@sql_mode
  • SELECT @@GLOBAL.sql_mode;
  • SELECT @@SESSION.sql_mode;
  • ONLY_FULL_GROUP_BY - group by 절에 포함되지 않은 컬럼이더라도 집합 함수의 사용없이 그대로 select 절이나 having 절에 사용할 수 있음
  • PAD_CHAR_TO_FULL_LENGTH - char 타입이라고 하더라도 varchar 와 같이 유효 문자열 뒤의 공백 문자는 제거되어 반환
  • NO_ZERO_IN_DATE & NO_ZERO_DATE : DATE 또는 DATETIME 컬럼에 2022-00-00 또는 0000-00-00 과 같은 잘못된 날자를 저장하는 것이 불가능

11.1.2 영문 대소문자 구분

 - mysql의 db나 테이블이 디스크의 디렉토리나 파일로 매핑되기 때문에 테이블명의 대소문자를 구분함

 - 가능하면 초기 db나 테이블 생성할 때 대문자 또는 소문자만으로 통일해서 사용하는 편이 좋음

 - SELECT * FROM tab_test WHERE string_column = 10001
   mysql 은 숫자 타입과 문자열 타입 간의 비교에서 숫자 타입을 우선하므로 string_column을 숫자 값으로 변환 후 우측과 비교한다. 이 경우 string_column에 index 가 있어도 이용하지 못하며, 컬럼의 row 수만큼 실행해서.... 좋지 않음
이런 sql은 사용하지 않는게 맞음

 

윈도우 함수

 - https://kimsyoung.tistory.com/entry/%EB%8C%80%ED%91%9C%EC%A0%81%EC%9D%B8-%EC%9C%88%EB%8F%84%EC%9A%B0-%ED%95%A8%EC%88%98-6%EA%B0%80%EC%A7%80-%EC%95%8C%EC%95%84%EB%B3%B4%EA%B8%B0

 

lateral join

user_group, user 가 있다면 user_group_id 로 조인을 한 상태에서...

user 테이블 데이터를 추출 하는데.....

이 기준이 user.insert_date >= user_group.insert_date 와 같은 형태로...

user 테이블 데이터츨 filter링 하는데, 그 조건이 user_group 테이블 조건이라고 보면 됨

근데.... join 조건 만으로 user 테이블 데이터를 단순 정렬만 따로 하는 예제도 많네....

user 테이블을 정렬하거나 줄이거나

 

'DB > mysql' 카테고리의 다른 글

InnoDB 클러스터  (0) 2022.06.01
docker를 이용한 cluster 구축  (0) 2022.05.30
복제용 docker image  (0) 2022.05.08
docker 를 이용한 mysql 설치  (0) 2022.02.15
Posted by gt1000

아키텍처 구성을 위해 필요한 것들

 

Route 53 - 도메인

VPC

  • 인터넷 게이트웨이 - 인터넷 연결
  • 오토 스케일링을 위한 IP 주소 많이 확보
  • 보안 그룹과 네트워크 ACL 설정을 위한 인스턴스 용도별 포트 설정

ELB

  • ALB(Application Load Balancer) - http 및 https 에 적합
  • NLB(Network Load Balancer) - tcp, tls

Elastic IP - NAT를 사용해서 대표 IP 로 변환해 줘야 하나?

 

Elastic Beanstalk 은 ec2 인스턴스 배포, 모니터링 등 다수 기능을 지원하지만 단일 컨테이너...
복잡하고 멀티 컨테이너를 실행하고 싶을때는 ecs가 맞음

EC2

  • EBS(Elastic Block Store) - HDD, SSD 를 붙일건지

ECS(Elastic Container Service)

EKS(Elastic Kubernetes Service)

Fargate

  • 필요에 따라 EC2 인스턴스를 기동하고 EC2 안에 컨테이너를 할당하고 실행하는 방식

 

RDS(Relational Database Service)

  • 업데이트, 백업 자동화

S3

  • 이걸 웹 서버로 사용한다고 하는데... 실제 기업에서 어떻게 사용하는지 사례를 찾아 봐야 할듯
  • ec2에 비해 성능 차이는 없는지, 부하가 높을 경우 로드 발렌싱은

엔드포인트 서비스

  • VPC 바같의 S3 같은 서비스를 연결하기 위한 설정
  • 인터페이스 엔드 포인트와 게이트웨이 엔드 포인트

CloudFront

AWS Certificate Manager 서버를 사용하면 무료로 인증서를 생성 할 수 있음

 

 

NAT(Network Address Translation)

  • 데이터를 라우트로 보내고, 라우터가 목적지로 보내는 방식
  • 라우터는 네트워크의 관문에 위치해 있기 때문에 관문이라는 의미로 게이트웨이라고 함
  • 게이트웨이는 기기의 역할을 말하며, 실제 기기는 라우터
  • 사설 IP를 공동 공인 IP로 주소 변환을 담당하는 것이 IP 마스커레이드 NAPT(Network Address Port Translation) 임
  • 서버가 여러대라면 공인 IP 주소를 여러개 설정 할 수 있는 NAT를 사용해야 함

 

IAM

스냅샷 - 특정 시점의 서버 상태. OS, 설정, 데이터 등 모든거 포함. AMI를 만들기 위해 사용하기도 함

 

'클라우드 > aws' 카테고리의 다른 글

사용 도구  (0) 2022.04.12
네트워크 구조  (0) 2022.04.11
aws 기초 지식  (0) 2022.04.11
Posted by gt1000

블로그 이미지
gt1000

태그목록

공지사항

어제
오늘

달력

 « |  » 2024.4
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함