programing

마리아 삭제 방법다중 소스 복제를 위해 DB가 지정한 Connection_name

coolbiz 2022. 10. 5. 23:07
반응형

마리아 삭제 방법다중 소스 복제를 위해 DB가 지정한 Connection_name

mariaDB(최신: 10.1.8)에 몇 가지 복제 설정이 있습니다.사용하고 있는지 확인해 주세요.Multiple replication유산이 아니다Single replication.

몇 가지 설정을 추가했습니다.CHANGE MASTER "blah" TO명령어를 입력합니다.이제 그 중 하나만 제거하겠습니다.show all slaves status.

mysql -e "show all slaves status\G;" | grep "Connection_name\|Running"
              Connection_name: 
             Slave_IO_Running: No
            Slave_SQL_Running: Yes
              Connection_name: asi.exapmle.com
             Slave_IO_Running: Connecting
            Slave_SQL_Running: Yes
              Connection_name: bee.exapmle.com
             Slave_IO_Running: Connecting
            Slave_SQL_Running: Yes
              Connection_name: dild.exapmle.com
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Connection_name: datr.exapmle.com
             Slave_IO_Running: Connecting
            Slave_SQL_Running: Yes
              Connection_name: db.exapmle.com
             Slave_IO_Running: Connecting
            Slave_SQL_Running: Yes
              Connection_name: nop.exapmle.com
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes

삭제 방법db.exapmle.com다른 복제에 영향을 주지 않고 이 복제 목록에서 삭제하시겠습니까?

드디어 해결책을 찾았어요!

RESET SLAVE 'Connection_name' all내가 원하던 거였어요뿐만 아니라.RESET SLAVE, 마지막에 추가해야 합니다.

https://mariadb.com/kb/en/mariadb/reset-slave-connection_name/

[root@maria ~]# mysql -e "show all slaves status\G;" | grep "Connection_name\|Running"
              Connection_name:              # <- empty name and wanna remove
             Slave_IO_Running: No
            Slave_SQL_Running: Yes
              Connection_name: wanna-remove-db       # <- wanna remove
             Slave_IO_Running: No
            Slave_SQL_Running: Yes
              Connection_name: wanna-keep-db         # <- don't wanna remove '
             Slave_IO_Running: Connecting
            Slave_SQL_Running: Yes
[root@maria ~]# mysql -e "STOP SLAVE 'wanna-remove-db';"
[root@maria ~]# mysql -e "RESET SLAVE 'wanna-remove-db' all;" 
[root@maria ~]# mysql -e "show all slaves status\G;" | grep "Connection_name\|Running"
              Connection_name: 
             Slave_IO_Running: No
            Slave_SQL_Running: Yes
              Connection_name: wanna-keep-db
             Slave_IO_Running: Connecting
            Slave_SQL_Running: Yes
[root@maria ~]# mysql -e "STOP SLAVE ''"
[root@maria ~]# mysql -e "RESET SLAVE '' all;" 
[root@maria ~]# mysql -e "show all slaves status\G;" | grep "Connection_name\|Running"
              Connection_name: wanna-keep-db
             Slave_IO_Running: Connecting
            Slave_SQL_Running: Yes

슬레이브(db.exapmle.com)에 로그인하여STOP SLAVE명령어를 입력합니다.

슬레이브에 대한 액세스 권한이 없는 경우, 슬레이브 사용자에 대한 GRANTS를 취소하는 등의 방법으로 블랙리스트를 작성해야 합니다.후자의 경우에도 슬레이브는 접속할 수 있지만 인증은 할 수 없습니다(따라서 iptables 등을 사용하여 접속을 허용하지 않는 것을 고려해야 합니다).

언급URL : https://stackoverflow.com/questions/40124114/how-to-delete-mariadbs-specified-connection-name-for-multi-source-replication

반응형