Давным давно когда только вышел 5 mysql - я еще мало что про него знал, настроил мой предшественник репликацию двустороннюю на серверах, но как водится - вечного ничего не бывает.
На работе начались работы (в связи с переименованием предприятия) работы по переходу на новый домен всех серверов и клиентских машин, долго готовились и переходили. Как всегда всего не упомниш - забыли про mysql прикольно то что после перехода на навый домен это чудо науки и техники работало без особых проблем - поменяли настройки только в my.cnf, а в самом сервере с консоли никто и не подумал. Во время отпуска по каким то причинам перегрузили демона на одном из серверов и репликация перестала работать. В мои обязанности входит его поддержка, пришлось разбиратся.
Перековырял конфиги - вроди бы все нормально, полез смотреть логи, в логах пишет про ошибку авторизации на удаленном сервере, в базе забито имя удаленного сервера со старым доменным иеменем (хотя работает и без него), первый раз страшно что либо делать на боевом серваке на который навешено очень много, боязнь свалить его была большая, но переыв кучу мануалов пришел к выводу что нуна менять конфиг, так как комманад slave stop slave start на сервере приводила к ошибке "Error 'Duplicate entry - Error_code: 1062" нуна было прописать для внутренней глобальной переменной slave-skip-errors = "код ошибки", у меня почему то незахотело прописыватся - так и не понял почему - при комманде "show variables" - эта переменная поаказывалась а при попытке задать ей значение через SET выдавало "неизвестная переменная", пришлось дожидаться когда никого не будет и после прописывания этой переменной перегрузить демона, который незахотел перестартовыватся - оказывается нуна было удалить все файлики связанные репликацией как правило это "mysql-bin.000xxx", удалил - запустилось но еще нужно было поменять внутреннее значение переменных относящихся к master host - оказывается все это делается очень просто нужно было выполнить комманду - CHANGE MASTER TO MASTER_HOST = servername MASTER_USER=user MASTER_PASSWORD=pass и все, сделал slave stop slave start - заработало, ошибку дубликации пропускало и сервера обновили данные.
----------------
Если кому будет интересно могу выложить данные конфигов по двусторонней репликации.
Ваш комментарий:
|