두 개의 phisical 서버가 있습니다. 포함 서버 2에 평소mysql 마스터 - 슬레이브 - 마스터 - 슬레이브 복제
server2$ mysql -u root -p <to_server2.sql
의 my.cnf로 수입 한 후
server1$ mysqldump -u root -q -p --delete-master-logs --flush-logs --extended-insert --master-data=1 --single-transaction --databases db1 db2 db3 db4>to_server2.sql
과 :에 my.cnf의
server-id = 2
log_bin
binlog_format = mixed
replicate_do_db = db1,db2
transaction-isolation=READ-COMMITTED
나는 명령을 사용하여 서버 2에 서버 1에서 일부 데이터베이스를 복사 서버 1은 다음을 포함합니다 :
server-id = 1
log_bin
binlog_format = mixed
replicate_do_db = db3,db4
transaction-isolation=READ-COMMITTED
그런 다음 두 서버에서 change master를 실행하여 서로를 가리 킵니다. SHOW SLAVE STATUS에는 이미 server2에서 Read_Master_Log_Pos가 포함되어 있지만 어쨌든이 작업 중에는 데이터가 변경되지 않았습니다.
그러면 두 서버 모두에서 시작된 슬레이브입니다. SHOW SLAVE STATUS는 server1과 server2에서 잘 보입니다.
문제 :서버 1의 데이터가 변경되거나 서버 2의 데이터가 서버의 binlog 및 다른 서버의 mysqld-relay-bin 로그에 나타나면 슬레이브 데이터베이스에는 로그가 표시되지 않습니다. Read_Master_Log_Pos는 슬레이브 데이터베이스의 데이터는 변경하지만 데이터는 변경하지 않습니다. 그 이유는 무엇입니까?
replication은 sysadmin 질문보다 프로그래밍에 더 많은 것이므로 serverfault.com에서이 정보를 묻는 것이 좋습니다. –
아마도. 하지만 여전히 많은 사람들이 mysql을 마스터하고 있습니다. 아마도 문제는 혼수 상태입니다. 데이터베이스 이름에 혼수 상태가있을 수 있기 때문에 잘못된 이름 인 혼수로 데이터베이스 이름을 분리하려고합니다. –