mysql(23)
-
기초공부 - (16) slave-skip-errors
# slave_skip_errors는 슬레이브에서 지정(설정)한 에러가 발생했을 경우 skip해주는 파라미터이다. 당연한 결과이겠으나, skip이 되는지 직접 눈으로 확인해보려고 합니다.slave_skip_erros를 수정하기 위해서는 my.cnf에서 수정 후 인스턴스를 재시작해야합니다. 1. 설정두 대의 slave 중 하나의 slave 에만 특정 에러를 skip 할 수 있도록 설정을 하도록 하겠습니다. - 1062, Duplicate entry 에러를 발생시키기 위해 테이블 생성과 데이터를 source(master)에서 셋팅해 보도록 하겠습니다.mysql> create table emp -> (emp_no int not null, -> name varchar(20) default null, ..
2024.05.23 -
기초공부 - (14) innodb_buffer_pool_pages_data 값이 Total보다 크다면
innodb_buffer_pool_pages_data 또는 innodb_buffer_pool_bytes_data 를 통해 현재 메모리 사용량을 파악할 수가 있습니다.그리고 우리는 상식적으로 innodb_buffer_pool_size에 설정된 값, 즉 메모리 전체 total 값보다는 작아야한다고 생각합니다.그러나 total값을 초과하는 경우가 발생합니다. 결론부터 말하자면,압축된 테이블을 읽는 경우, 압축된 데이터를 메모리로 가져와서 압축 해제 후에 작업이 이뤄진다고 합니다. 이럴경우 메모리에는 압축된 데이터와 압축해제 된 데이터가 동시에 존재한다고 하여 메모리가 초과가 되는 것으로 보입니다.뒷부분에도 나오겠지만, innodb_buffer_pool_pages_data 보다는 innodb_buffer_poo..
2024.05.07 -
기초공부 - (13) procedure
프로시저 확인 방법을 간략하게 알아보려고 합니다. 1. 프로시저 생성 2. 특정 DB에 있는 프로시저 확인show procedure status where db='test'; 3. 프로시저 스크립트 확인
2024.04.28 -
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