
--log_slave_updates 옵션은 MySQL replication에서 slave 노드가 자신의 업데이트 로그를 기록하도록 하는 옵션입니다. 이 옵션을 사용하려면 몇 가지 필수적인 설정이 필요합니다.
1. binlog-do-db 옵션: 이 옵션은 slave 노드가 특정 데이터베이스의 업데이트 로그를 기록하도록 합니다. 예를 들어, binlog-do-db = mydb 라면 slave 노드는 mydb 데이터베이스의 업데이트 로그만 기록합니다.
2. binlog-ignore-db 옵션: 이 옵션은 slave 노드가 특정 데이터베이스의 업데이트 로그를 기록하지 않도록 합니다. 예를 들어, binlog-ignore-db = mydb 라면 slave 노드는 mydb 데이터베이스의 업데이트 로그를 기록하지 않습니다.
3. replicate-do-table 옵션: 이 옵션은 slave 노드가 특정 테이블의 업데이트 로그를 기록하도록 합니다. 예를 들어, replicate-do-table = mydb.mytable 라면 slave 노드는 mydb 데이터베이스의 mytable 테이블의 업데이트 로그만 기록합니다.
4. replicate-ignore-table 옵션: 이 옵션은 slave 노드가 특정 테이블의 업데이트 로그를 기록하지 않도록 합니다. 예를 들어, replicate-ignore-table = mydb.mytable 라면 slave 노드는 mydb 데이터베이스의 mytable 테이블의 업데이트 로그를 기록하지 않습니다.
slave 노드가 업데이트 로그를 기록하지 못하는 이유는 여러 가지가 있을 수 있습니다.
1. binlog-do-db 옵션의 설정이 잘못된 경우: binlog-do-db 옵션을 설정하지 않았거나 잘못 설정한 경우 slave 노드는 모든 데이터베이스의 업데이트 로그를 기록하지 않습니다.
2. binlog-ignore-db 옵션의 설정이 잘못된 경우: binlog-ignore-db 옵션을 설정하지 않았거나 잘못 설정한 경우 slave 노드는 모든 데이터베이스의 업데이트 로그를 기록합니다.
3. replicate-do-table 옵션의 설정이 잘못된 경우: replicate-do-table 옵션을 설정하지 않았거나 잘못 설정한 경우 slave 노드는 모든 테이블의 업데이트 로그를 기록하지 않습니다.
4. replicate-ignore-table 옵션의 설정이 잘못된 경우: replicate-ignore-table 옵션을 설정하지 않았거나 잘못 설정한 경우 slave 노드는 모든 테이블의 업데이트 로그를 기록합니다.
5. slave 노드의 binlog 파일이 없거나 잘못된 경우: slave 노드의 binlog 파일이 없거나 잘못된 경우 slave 노드는 업데이트 로그를 기록하지 못합니다.
6. slave 노드의 replication 설정이 잘못된 경우: slave 노드의 replication 설정이 잘못된 경우 slave 노드는 업데이트 로그를 기록하지 못합니다.
이러한 문제를 해결하기 위해서는 slave 노드의 binlog 파일을 확인하고, binlog-do-db, binlog-ignore-db, replicate-do-table, replicate-ignore-table 옵션을 올바르게 설정해야 합니다.
2025-03-22 19:37