기초공부 - (16) slave-skip-errors
2024. 5. 23. 00:31ㆍMySQL/Class
반응형
# 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,
-> PRIMARY KEY (emp_no));
Query OK, 0 rows affected (0.10 sec)
mysql> insert into emp values(10,'basketball');
Query OK, 1 row affected (0.01 sec)
mysql> insert into emp values(20,'golf');
Query OK, 1 row affected (0.01 sec)
mysql> insert into emp values(30,'soccer');
Query OK, 1 row affected (0.01 sec)
mysql> set session sql_log_bin=off;
Query OK, 0 rows affected (0.00 sec)
mysql> delete from emp where emp_no=10;
Query OK, 1 row affected (0.00 sec)
mysql> select * from emp;
+--------+--------+
| emp_no | name |
+--------+--------+
| 20 | golf |
| 30 | soccer |
+--------+--------+
2 rows in set (0.00 sec)
# 이럴경우 master는 2건 , slave는 3건이 존재합니다.
mysql> select * from test.emp;
+--------+------------+
| emp_no | name |
+--------+------------+
| 10 | basketball |
| 20 | golf |
| 30 | soccer |
+--------+------------+
3 rows in set (0.00 sec)
2. 실행
# slave에는 emp_no=10이 존재합니다.
# 그러나 master 에는 존재하지 않기 때문에 master에는 insert가 되겠지만,
# slave에서는 에러가 발생될 것입니다.
mysql> insert into emp values(10,'football');
Query OK, 1 row affected (0.01 sec)
slave_skip_errors를 설정한 slave는 master와 다른 값을 가지고 있지만, 에러를 내지 않고 replication 연결이 끊어지지 않았습니다.
slave_skip_errors=OFF 로 설정한 slave는 master와 다른 값을 가지고 있지만, 1062 에러를 발생시키며 replication 연결이 끊어지는 것을 볼수 있습니다.
slave_skip_errors는 유용하게 사용할 수 있는 파라미터 인 것 같습니다.
그러나 데이터를 지속적으로 skip을 했다면 마스터와의 데이터 정합성이 맞지 않을 수 있다는 것을 기억하고 주의를 해야할 것 같습니다.
반응형
'MySQL > Class' 카테고리의 다른 글
기초공부 - (15) 부하 모니터링(sar,top,qps,connect,buffer_pool) (0) | 2024.05.15 |
---|---|
기초공부 - (14) innodb_buffer_pool_pages_data 값이 Total보다 크다면 (0) | 2024.05.07 |
기초공부 - (13) procedure (0) | 2024.04.28 |
기초공부 - (12) Com_update 와 duplicate key update (0) | 2024.04.22 |
기초공부 - (11) QPS & TPS (0) | 2024.04.16 |