MySQL/Class(38)
-
mha를 위한 ssh 설정
mha 와 같이 failover를 대비하기 위해서는 ssh 설정이 필요할 때가 있습니다.아래 내용은 mha 구성을 위해서 ssh-keygen을 이용하여 key값을 서버마다 공유하는 내용입니다. 아래 작업들은 서버마다 전부 작업해야하는 작업입니다. 1. key 생성 및 copy$ ssh-keygen -t rsa -f ~/.ssh/id_rsa -N ""$ ssh-copy-id -i ~/.ssh/id_rsa.pub mysql@192.168.0.1$ ssh-copy-id -i ~/.ssh/id_rsa.pub mysql@192.168.0.2$ ssh-copy-id -i ~/.ssh/id_rsa.pub mysql@192.168.0.3$ ssh-copy-id -i ~/.ssh/id_rsa.pub mysql@192.1..
2024.11.07 -
기초공부 - (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 -
기초공부 - (15) 부하 모니터링(sar,top,qps,connect,buffer_pool)
- 개인적으로 부하테스트 또는 성능 모니터링을 할 경우 확인하는 부분들을 정리해보았습니다. (1) sar$ sar -p -d 1 | grep xvd # await, wkB/s, rkB/s, tps, idle 확인 (2) top$ top | grep mysqld # %cpu, %mem (3) qps확인mysql> select now();mysql> show global status where variable_name in ('questions','uptime','com_select','com_insert','com_delete','com_update'); (4) connect# Aborted_connects, threads_connected, max_used_connections, connectionsmy..
2024.05.15 -
기초공부 - (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 -
기초공부 - (12) Com_update 와 duplicate key update
insert .. on duplicate key update 가 실행되는 마스터에서 Com_update 수가 마스터에서는 증가하지 않으나 슬레이브에서 급속도록 증가하고 있어서 해당 부분을 찾아 보게 되었습니다.아래도 여러번 말을 하겠지만, duplicate key update 문 때문에 헷갈리게 된 바보같은 내용일 수도 있을 것 같습니다. 예제를 본다면 훨씬 이해가 편할 겁니다.time(Seq)MasterSlave1create table member ( name varchar(10), num int, reg_date timestamp, upt_date timestamp, primary key(name)); 2show global status w..
2024.04.22