Я использовал репликацию для переноса всех данных на новый сервер, а затем закомментировал master_host, master_port и т. Д. (В основном все строки, относящиеся к master) в my.cnf, я выдал команду stop slave.
Однако после перезапуска mysqld процесс репликации снова запущен! как остановить это навсегда.
Процедура отличается в зависимости от версии сервера MySQL.
STOP SLAVE
, CHANGE MASTER TO MASTER_HOST=''
а потом RESET SLAVE
.В этих версиях RESET SLAVE
Команда удалит файлы master.info и relay-log.info и большинство настроек, однако некоторые настройки будут просто сброшены до значений по умолчанию, и это опасно. Если репликация будет запущена снова, она начнется без знания позиции ведущего, поэтому повторно применит все журналы, все еще доступные на ведущем устройстве. Чтобы правильно удалить всю информацию о мастере, вам необходимо запустить также CHANGE MASTER
команда.
STOP SLAVE
а потом RESET SLAVE ALL
.Здесь RESET SLAVE
(без ALL
ключевое слово) ведет себя точно так же - не удаляя всю информацию. Однако также CHANGE MASTER
не помогает для 5.5+, поэтому вам нужно быть осторожным и знать, над какой версией MySQL вы сейчас работаете.
Правильный способ сделать это stop slave; reset slave;
«Сброс ведомого» - это часть, которая стирает конфигурацию и не дает ей переподключиться.
Чтобы полностью остановить репликацию, у вас есть два пути
master.info
который находится в корне вашего mysql, который удалит информацию о репликацииВ любом из этих случаев вам нужно будет повторить репликацию позже, записать все данные репликации, такие как последняя позиция и последний файл исходной корзины, на случай, если вы захотите снова начать репликацию.
Я обычно делаю STOP SLAVE; CHANGE MASTER TO MASTER_HOST='';
убить раба.