SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 01.11.2007 13:40:02

ginger22
Участник
Зарегистрирован: 01.11.2007
Сообщений: 8

Cluster as slave

Есть идея - сделать MySQL Cluster как SLAVE, но в кластере базы в NDB, а MASTER сервер базы хранит в MyIsam, как в таком случае поступить? Влить дамп в SLAVE как MyIsam, а потом переделать у них ENGINE в NDB? Что произойдет при установлении соединения между MASTER и SLAVE? Будет ли оно работать?

Неактивен

 

#2 01.11.2007 13:45:05

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Cluster as slave

Такая конфигурация должна работать в MySQL 5.1 при binlog_format=row
Операции создания таблиц на мастере будут создавать тоже MyISAM таблицы на слейве, так что все новые таблицы на слейве нужно будет вручную перегонять в ndb.

Про 5.0 не могу сказать, надо проверять на практике.

Неактивен

 

#3 01.11.2007 14:18:22

ginger22
Участник
Зарегистрирован: 01.11.2007
Сообщений: 8

Re: Cluster as slave

Планирую использовать 5.1
Меня волновал больше всего вопрос по поводу разных движков таблиц на мастере и слейве.

Неактивен

 

#4 01.11.2007 14:22:49

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Cluster as slave

Можно использовать разные движки, правда при этом потеряется возможность резервирования канала репликации

Неактивен

 

#5 01.11.2007 14:28:24

ginger22
Участник
Зарегистрирован: 01.11.2007
Сообщений: 8

Re: Cluster as slave

Эм... А поподробнее?

Неактивен

 

#6 01.11.2007 14:36:51

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Cluster as slave

Например:
Мастер - MyISAM
Слейв - одна из 3х mysql-нод кластера

Пусть данная нода погибла. Мы бы хотели запустить slave на второй sql-ноде. Нужно узнать позицию в логе, с которой запустить репликацию. Если репликация ndb -> ndb, то для этого используется ndb_apply_status на slave и ndb_binlog_index на мастере. Если же мастер MyISAM, то такой механизм не будет работать и придется угадывать на какой позиции остановилась репликация (например, с помощью сравнения данных в бинарных жулналах мастера и слейва).

Неактивен

 

#7 01.11.2007 15:06:23

ginger22
Участник
Зарегистрирован: 01.11.2007
Сообщений: 8

Re: Cluster as slave

Но в таком случае если сделать два слейва - оно будет работать?

Неактивен

 

#8 01.11.2007 15:19:27

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Cluster as slave

Надо посмотреть будет ли он вести ndb_apply_status, если будет, значит должна работать такая конфигурация. Вообще говоря два одновременно работающих слейва - на данный момент не является поддерживаемой конфигурацией. В документации рекомендуется поднимать второй слейв, только если первый упал.

Неактивен

 

#9 01.11.2007 15:26:04

ginger22
Участник
Зарегистрирован: 01.11.2007
Сообщений: 8

Re: Cluster as slave

На лабах мы делали два слейва smile
Но у нас была кластер-кластер репликация...

Неактивен

 

#10 01.11.2007 15:28:51

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Cluster as slave

Да, на лабах делали, но рекомендуется не запускать одновременно, хотя и работает, если запустить два слейва одновременно ndb -> ndb. В случае MyISAM -> ndb надо проверять.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson