У меня есть настройка master-master, которую я хочу переместить на новую пару серверов (с linux на opensolaris). Имена ящиков linux - shard1-1 и shard1-2, а имена ящиков osol - shard1-1-osol и shard1-2-osol.
вот что я сделал: 1. снял сервер mysql на обоих ящиках Linux, скопировал данные в ящики osol. 2. отредактировал master.info на каждом из ящиков osol, изменил master с shard1-1 на shard1-1-osol и наоборот на обеих машинах.
когда я запустил mysql на первой машине osol, я увидел это в журнале ошибок: похоже, mysql не любит изменение имени хоста, и он скулит по этому поводу. файл mysqld-relay-bin.000707 существует в datadir, поэтому непонятно, о чем скулит mysql.
090902 2:26:03 InnoDB: Started; log sequence number 246 3528553673
090902 2:26:03 [Warning] Neither --relay-log nor --relay-log-index were used; so replication may break when this MySQL server acts as a slave and has his hostname changed!! Please use '--relay-log=shard1-1-osol-relay-bin' to avoid this problem.
090902 2:26:03 [ERROR] Failed to open the relay log './mysqld-relay-bin.000707' (relay_log_pos 19653396)
090902 2:26:03 [ERROR] Could not find target log during relay log initialization
090902 2:26:03 [ERROR] Failed to initialize the master info structure
Сервер не может найти журналы реле, потому что они названы частично на основе имени хоста. У вас будут ВСЕ ВИДЫ проблем, пытаясь поднять раба, используя эту технику. Я предлагаю повторно инициализировать подчиненное устройство от нового мастера. Просто отбросьте все базы данных на ведомом устройстве, возьмите дамп с ведущего устройства с помощью mysqldump, импортируйте его на ведомое устройство, а затем используйте CHANGE MASTER TO, чтобы настроить репликацию с нового ведущего устройства. Это НАМНОГО проще, чем пытаться устранить все проблемы, с которыми вы собираетесь столкнуться.
Я должен в некоторой степени не согласиться. Вы можете переименовать файлы журнала и обновить relay-log.info, соответствующий файл .index и / или установить log-bin в my.cnf, чтобы он работал.
Полезное руководство по проблеме, имеющей аналогичные последствия для вашей: Следите за изменениями имени хоста при использовании репликации!Автор Трент из Sun / MySQL.
Если он просто жалуется на журналы реле, в большинстве случаев они одноразовые, если у мастера все еще есть двоичные журналы. Вы можете просто запустить CHANGE MASTER TO на ведомом устройстве, и он очистит существующие журналы реле и запустится заново. Вам не нужно делать новую свежую копию.