Как удалить указанный mariaDB 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 из этого списка репликации без влияния на другие репликации?

2 ответа

Наконец я нашел решение!

RESET SLAVE 'Connection_name' all было то, что я хотел. Не просто RESET SLAVE нужно добавить ALL в конце.

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 команда.

Если у вас нет доступа к подчиненному устройству, вам необходимо внести его в черный список, например, отменив гранты для подчиненного пользователя. В последнем случае все еще разрешается подчиненному подключаться, но не проходить аутентификацию (поэтому вы должны запретить подключение, используя, например, iptables).

Другие вопросы по тегам