MySQL 11

maria, mysql swap 사용

maria나 mysql  swap 사용률이 높을 경우 확인해야할 항목 정리  1. vm.swappiness 확인 - 해당 항목은 보통 1 로 설정함 스왑 활용도, 스와핑 활용도, 스와피니스리눅스 커널 속성 중 하나스왑메모리 활용 수준 조절스왑 사용의 적극성 수준값의 범위: 0 ~ 100 (기본값: 60)값                  설명------------------  -------------------- vm.swappiness = 0   스왑 사용안함[1]vm.swappiness = 1   스왑 사용 최소화vm.swappiness = 60  기본값vm.swappiness = 100 적극적으로 스왑 사용→ 메모리 여유가 충분할 때 성능향상을 위해 vm.swappiness = 10 정도를 권고하는 ..

Mysql & Maria/admin 2025.01.09

mariadb 에서 unsigned 컬럼 join 시 문제점

unsigned 컬럼은 부호 없는 정수를 나타내며, 일반적으로 양수만을 저장할 때 사용됩니다. DB 관점에서의 문제점 1. 데이터 불일치: unsigned 컬럼을 가진 테이블을 다른 테이블과 조인할 때, 부호 있는 정수 컬럼을 가진 테이블과 조인하면 데이터 불일치 문제가 발생할 수 있습니다. 이는 음수 값을 가지는 부호 있는 정수 컬럼과 양수 값을 가지는 unsigned 컬럼 간에 일치하지 않는 데이터가 발생할 수 있음을 의미합니다. 2. 인덱스 문제 ✨: unsigned 컬럼을 사용하면 해당 컬럼에 대한 인덱스가 부호 없는 정수 범위 내에서만 작동합니다. 따라서 음수 값이 있는 컬럼을 조인하거나 비교할 때 인덱스를 사용하지 못할 수 있습니다. 3. 형변환 오버헤드: unsigned 컬럼과 부호 있는 정..

DA 2024.01.24

Mysql xtrabackup 백업 및 복구 (slave 서버 재구성)

포스팅은 full backup 기준이며 slave 서버 재구성하는 시나리오 임. xtrabackup 방식 - mysqldump 형식이 아니므로 event_scheduler, 논리적 복구는 따로 적용해줘야함. - xtrabackup version : 8.0 - mysql version : mysql 8.0.27 ZSTD 가 compress 옵션 사용시 기본 압축 방식으로 변경되어 qpress 설치할 필요가 없어짐. 1. 백업 수행 xtrabackup --defaults-file=/etc/my.cnf \ --user="userid" \ --password="password" \ --backup \ --no-lock --parallel=4 \ --compress \ --compress-threads=4 \ -..

Mysql & Maria/admin 2024.01.11

root 비밀 번호 분실시

root 비밀번호를 분실할리가 없겠지만..? local [window] 에서 테스트 하려고 생성해둔 mysql server를 들어간지 오래 되었다 보니 까먹었다.. 비밀번호를 적어둔 것도 없고, 그렇다고 다시 설치하기엔 귀찮고 ..ㅋ root 비밀번호 분실했을때에 재설정 방법 공유 [window] 1. 실행중인 mysql 서버 중지 2. 관리자 권한이 있는 cmd 창에서 아래 방법 1,2 중 하나 실행 (설정파일 위치는 각자 위치에 맞게 mysql-init 파일 내용 ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass'; 방법 1 . mysqld --init-file=C:\\mysql-init.txt 방법 2 . mysqld --defaults-file="C..

Mysql & Maria/admin 2023.11.28

Mysql lock 종류

MySQL에서는 여러 종류의 잠금(Lock)이 있습니다. 잠금은 데이터베이스에서 동시성을 관리하고 여러 트랜잭션 간의 충돌을 방지하기 위해 사용됩니다. 다음은 MySQL에서 주로 사용되는 잠금의 종류와 각 잠금 종류별로 발생 가능한 시나리오입니다 공유 잠금(Shared Lock): 설명: 여러 트랜잭션이 동시에 데이터를 읽을 수 있도록 하는 잠금. 발생 가능한 시나리오: 여러 트랜잭션이 동일한 데이터를 동시에 읽는 경우. 배타적 잠금(Exclusive Lock): 설명: 트랜잭션이 데이터를 읽거나 쓰기 위해 특정 데이터에 독점적으로 접근하는 잠금. 발생 가능한 시나리오: 트랜잭션이 데이터를 수정하거나 삭제하는 경우. 읽기 잠금(Read Lock) 및 쓰기 잠금(Write Lock): 설명: InnoDB ..

Mysql & Maria/admin 2023.11.26

mysql 성능 I/O 읽기/쓰기 관련 측정

while true; do mysqladmin -u [username] -p[password] extended-status grep "Innodb_" sleep 60 done 쓰기 요청의 수 (QPS) 계산: Innodb_data_writes 변수는 InnoDB에서 발생한 총 디스크 쓰기 작업의 횟수를 나타냅니다. 두 시간 포인트 사이의 Innodb_data_writes의 증가를 측정하고, 그 기간 동안의 초로 나눠서 QPS를 계산할 수 있습니다. 총 쓰기 바이트 계산: Innodb_data_written 변수는 InnoDB에 의해 디스크에 쓰여진 총 바이트를 나타냅니다. 두 시간 포인트 사이의 Innodb_data_written의 증가를 측정하여 총 쓰기 바이트를 구할 수 있습니다. QPS당 쓰기 바이..

Mysql & Maria/admin 2023.11.02

full text index

전체 텍스트 검색은 첫 글자 뿐 아니라 중간의 단어나 문장으로도 인덱스를 생성해 주기 때문에, 전체 텍스트 인덱스를 통해 순식간에 검색 결과를 얻을 수 있다. InnoDB와 MyISAM 테이블만 지원하며, char, varchar, text타입 문자만 인덱싱이 가능하다. 인덱스 기법 Stop-word parser 👈 default 옵션 → 공백이나 Tab, 문장 기호, 또는 사용자가 정의한 문자열을 기준으로 토큰을 나누는 기법 ex> 아빠가 방에 들어갔다. → 아빠가 / 방에 / 들어갔다. N-gram parser → n-gram 기법을 사용하여 할당한 토큰의 크기 n만큼씩 데이터를 인덱스로 파싱해두었다가 사용하는 기법 ex> 아빠가 방에 들어갔다. → 아빠 / 빠가 / 방에 / 들어 / 어갔 / 갔다...

Mysql & Maria/admin 2023.09.07

[mysql] CHECK TABLE

SQL CHECK TABLE tbl_name [, tbl_name] ... [option] ... option: { FOR UPGRADE | QUICK | FAST | MEDIUM | EXTENDED | CHANGED } 옵션은 다음과 같다. FOR UPGRADE : 테이블이 현재 MySQL 버전과 호환되는지 확인한다. QUICK : 잘못된 링크를 확인하기 위한 행 스캔 금지 FAST : 적절히 CLOSE 되지 않은 데이블만 확인. cron 등을 이용해 주기적인 확인을 위해 사용한다. MEDIUM : 행을 스캔하여 삭제된 링크가 유효한지 확인 EXTENEDED : 각 행의 모든 ​​키에 대해 전체 키 조회 수행 CHANGED : 마지막 확인 후 변경되었거나 적절히 CLOSE 되지 않은 테이블만 확인. c..

Mysql & Maria/admin 2023.05.19

MySQL/MariaDB 모니터링 관련

Mysql / maria DB 관련하여 모니터링 시 주요 확인해야 할 지표 Select Table Lock Sort Temp Table & Temp file Threds Replication Handler Connections Qps * Select 쿼리 관련 모니터링 show status where variable_name like ‘select% Variable Name Comment Select_full_join 다중 테이블 조인 시 후행 테이블에서 전체 테이블 스캔이 발생한 횟수 Select_full_range_join 다중 테이블 조인시 제한된 범위내에서 JOIN키 값을 비교한 횟수 Select_range SELECT쿼리의 범위 조건에 만족하는 레코드를 찾기 위해 제한된 범위를 디스크에서 읽은 ..

Mysql & Maria/admin 2023.05.06