MySQL 6

[MySQL/MariaDB HA (3)] MySQL/MariaDB를 사용한 고가용성 구성 HA 3일차

4.MySqlLogFormat/1.Statement-basedLog/README.md실습 시작..더보기user@DESKTOP-FSLB27A MINGW64 ~$ docker rm -f mysqlmysqluser@DESKTOP-FSLB27A MINGW64 ~$ docker run -d --rm --name mysql --hostname=mysql -e MYSQL_ROOT_PASSWORD=mypass mysql:5.7 --server-id=1 --log-bin='mysql-bin-1.log' --binlog_format='STATEMENT'41ffc01375fd8e3d36419cd1274b784ff2682649e417d75fad323e8b3b58e89duser@DESKTOP-FSLB27A MINGW64 ~$ ..

DBA공부/MySQL 2024.06.05

[MySQL/MariaDB HA (2)] MySQL/MariaDB를 사용한 고가용성 구성 HA 2일차

더보기docker exec -it master mysql docker exec -it slave1 bash  강사님 왈.. 내가 신입사원에게 써봤냐고 물어보는 것 List OS : Dockercode : gitdocument : MarkDown  본인이 쓰시는 것범용 Editor : VsCode문서 관리 : ObsidianMarkDown.. 아래 처럼 코드를 치고 Open Preview 하면 html 형태로 바로 볼 수 있다.또 ChatGpt도 html 형태 아웃풋이기 때문에 md로 사용하다보면 chatgpt를 이용해서 워드나 pandoc 등등 변환이 너무 간단하단다.뭐.. 그렇단다. .md(MarkDown) 확장자로 도큐먼트를 많이들 쓴단다. 써버릇 해보자. Git Bash..일단 설치 고이걸 깐 이유..

DBA공부/MySQL 2024.06.04

[MySQL/MariaDB HA (1)] 이중화를 이용한 고가용성 시스템 구축 시작 및 docker 간단 사용법

MySQL High Availability - BigData와 DBA의 중간 교육 과정임- Docker 기반으로 진행함.- Data 관점, Infra 관점 두가지 관점에서 수강하셈. Infra 관점에서 교육받는게 미래에 도움될거임.• 수업 때 다루는 것- Docker 설치 등 실습 환경 구성- MySql/MariaDB의 Replication관련 고가용성 구현 1. BigData & NoSqlMySQL은 BigData? NoSql?- 의견이 분분하나.. NoSql에 넣는다.. 샤딩..?빅데이터 플랫폼에 Oracle, MySQL도 포함된다.. 하지만 일반적으로 하둡 등 분산 시스템이 구성된다! MySQL을 전통적 데이터로 구성할 수 있고.. 빅데이터로 구성할 수 있다.빅데이터는 기본적으로 데이터 양이 테라,..

DBA공부/MySQL 2024.06.03

MYSQL 쿼리 튜닝 - force index, join 컬럼 type 수정

이관 쿼리를 작성하던 중 시스템컬럼(감사컬럼)에 사용되는 등록자번호가 tobe 기준에 맞춰 변환한 후 이관해야 하는 경우가 있었다. 따라서 이관 대상인 A 테이블의 등록자번호, 변경자번호, 삭제자번호 등을 tobe에 맞게 신규 채번되어있는 매핑테이블 B와 조인하여 B의 테이블의 신규 번호를 가져와야 하는 상황이었다. 단순히 A 테이블의 등록자번호, 변경자번호, 삭제자번호 3개를 B테이블과 조인해 보았다. A 테이블의 데이터 정합성을 위해 LEFT JOIN 이었으며, 매핑테이블 B에는 조인 대상 컬럼에 INDEX가 생성해 놓은 상태였다. 먼저 조인을 해 보았다. SELECT ... FROM TABLE_A asis LEFT JOIN TABLE_B tobe ON A.COL = B.COL 결과 : id|sele..

DB/SQL튜닝 2022.09.29

콤마(,) 로 이루어진(LISTAGG) 문자열 ROW로 변환하기(oracle, mariadb)

LISTAGG과 같은 방식으로 여러 ROW를 하나의 ROW를 합치는 경우가 있다. 그것의 반대의 경우에 사용하는 쿼리다. 1 . 먼저 오라클의 경우 다음과 같다. (REGEXP_SUBSTR 인수에 최대 4개 입력가능한 Mysql 버전이라면 Mysql도 동일할 듯) B부분은 몇개까지 ROW로 풀어낼 것인지를 나타내는 임시 테이블이다. WITH TMP(NO, YEAR, CODE) AS ( SELECT '2022027290', '2022', '2022000011,2022000022, 2022000023' FROM DUAL ) SELECT A.NO , A.YEAR , REGEXP_SUBSTR(REPLACE(A.CODE, ' ', ''),'[^,]+', 1, B.LV) AS CODE FROM TMP A , (SE..

DB/ORACLE 2022.09.26

누적 집계 함수 (SUM OVER)

ORACLE, 네티쟈, MSSQL 등에서 사용 가능한 누적 집계 함수에 대해 정리해보려 한다. 어떠한 수가 어떠한 정렬순서에 의해 순서대로 누적되는 합을 구해야 할 필요가 있을 때가 있다. 이때 사용하기 좋은 함수로 SUM OVER 함수가 있다. 사용 법은 다음과 같다. 1. 먼저 누적집계를 표현하기 위해 날짜컬럼(YM), 그리고 누적에 사용될 CNT를 DUAL로 생성했다. WITH TMP AS ( SELECT 202101 AS YM, 101 AS CNT UNION ALL SELECT 202102, 202 UNION ALL SELECT 202103, 303 ) SELECT * FROM TMP ; 2. 년월의 오름차순으로 누적되는 CNT를 구할 때 이렇게 사용할 수 있다. WITH TMP AS ( SELE..

DB/ORACLE 2021.09.06