mysql(30)
-
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 -
기초공부 - (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