MySQL(48)
-
기초공부 - (11) QPS & TPS
1. 정의 (1) QPS (Queries Per Second) 일반적인 관점에서 초당 특정 엔티티가 수행한 원자 동작의 수를 가리킨다. 더 제한된 관점에서 이 용어는 DBMS 벤더와 사용자 공동체가 초당 데이터베이스 트랜잭션의 수를 가리키기 위해 사용되는 것이 보통이다. (2) TPS (Transactions Per Second) 초당 트랜잭션 수(transactions per second, TPS)는 일반적인 관점에서 초당 특정 엔티티가 수행한 원자 동작의 수를 가리킨다. 더 제한된 관점에서 이 용어는 DBMS 벤더와 사용자 공동체가 초당 데이터베이스 트랜잭션의 수를 가리키기 위해 사용되는 것이 보통이다. 위 내용은 위키에서 가져온 내용입니다. 다소 난해한 내용이라 생각됩니다. 쉽게 설명을 드리자면, ..
2024.04.16 -
HA 구성 - (7) MHA : slave가 다운 되었을 경우 mha 반응은?
master가 아닌 slave가 문제가 발생했을 경우 mha는 어떻게 대응을 할 지 갑자기 궁금해졌습니다. 해당 내용을 한번 테스트 해보도록 하겠습니다. 1. mha 실행 /usr/local/bin/masterha_manager --conf=/etc/mha.cnf & - status 2. slave shutdown 3. 로그확인 - slave 서버가 죽어도 mha에는 아무 반응이 없습니다. 4. master shutdown - 여기서 하나 더 궁금해진 것이 이상태에서 만약 failover 가 발생된다면 어떻게 될까요? 5. 로그확인 예상은 failover가 정상적으로 이뤄지고, 남아있는 slave 들에서 master로 전환될 줄 알았습니다. 그러나 2003 에러가 발생돼버리는 것을 확인하였습니다. 이것에..
2024.04.08 -
M2(Mac)용 VMWare로 가상화 만들기 - (7) mysqldump upgrade
# 현재 저는 MySQL이 8.0.33 버전이라 버전 업그레이드가 무의미할 수 있겠으나 테스트를 위해서 8.0.35 로 업그레이드를 진행해보겠습니다. 이것은 5.7 버전에서 8.0으로 버전 업그레이드를 한다고 생각하는 것이 좋을 것 같습니다. 버전이 높다고 하여 방법이 달라지는 것은 아니니깐요. 1. mysqldump(export) - 우선 기존 버전의 8.0.33 에서 모든 데이터베이스를 dump 를 하여 백업본을 저장합니다. $ /mysql/local/mysql_8033/bin/mysqldump --all-databases -h localhost -u root -p1234 -S /tmp/mysql_8033.sock > /home/mysql/alldump.sql 2. 8.0.35 설치 - MySQL 8..
2024.04.01 -
ERROR - (1) [MY-010914] Aborted connection
로그파일을 확인하였을 때 아래와 같은 문구를 문뜩 마주칠 경우가 있습니다. 뭔가 에러는 아닌것이 Aborted connection 이라는 문구때문에 잘못된 것이 아닌가라는 생각을 가지게 되었습니다. 이것은 wait_timeout 과 연관되어 있습니다. 해당 내용은 여기를 참조해주세요. timeout으로 설정한 시간을 초과했을 경우, 연결을 끊으면서 mysql로그 파일에 찍히게 되는 경우입니다. 만약 우리 디비에는 해당 로그가 안찍히고 있다라고 한다면, verbosity 설정값을 확인해 보시길 바랍니다. 세션을 제대로 close 하지 않아 보여지는 경우가 종종 보입니다. 타계정 또는 스크립트에 심어진 부분이라면 정확하게 찾기가 많이 힘들 것입니다. 이런 부분을 전부 찾아서 close를 해주고 해결하는 것이..
2024.03.27 -
기초공부 - (10) Innodb_large_prefix
# innodb_large_prefix는 인덱스를 생성할 수 있는 최대 크기 입니다. 설정값을 ON으로 하였을 경우 인덱스의 최대 크기는 3072 byte, OFF일 경우 767 byte의 값을 갖게 됩니다. 예를 들자면 a_col varchar(255) 라는 컬럼이 있다고 가정한다면, 아래와 같이 최대 크기의 byte를 저장할 수가 있습니다. utf8일 경우 : 255 * 3byte = 765 byte utf8mb4일 경우 : 255 * 4byte = 1020 byte - varchar(255) 라는 의미는 Oracle에서는 255 byte이지만, MySQL에서는 글자길이라서 byte로 변환 한 것입니다. 만약 innodb_large_prefix 의 설정값이 OFF라면 utf8mb4 캐릭터셋으로 255..
2024.03.25 -
기초공부 - (9) event
# MySQL의 event는 Oracle의 job이라고 보면 됩니다. 즉, DB 내에서의 스케쥴러 입니다. 오늘 event 에 대해서 등록하고 간단하게 확인 하는 방법을 다뤄보도록 하겠습니다. 1. 스케쥴러 설정 SQL> show variables where variable_name = 'event_scheduler'; SQL> show variables like 'event%'; # 설정 set global event_scheduler=on; 2. 프로시저 생성 - 여기 10건 입력하는 프로시져가 있습니다. 이 프로시져를 event에 등록하여 자동 처리가 되는지 확인을 해보겠습니다. mysql> delimiter $$ mysql> drop procedure if exists test.imp_tmp_ev..
2024.03.18