SQLinfo.ru - Все о MySQL

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

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

Вы не зашли.

#1 24.10.2010 02:44:44

NARKOZ
Участник
Зарегистрирован: 18.08.2009
Сообщений: 14

Репликация master-slave на одной машине

Как грамотно настроить репликацию master<->slave на одном сервере? (ОС: CentOS)
Насколько правильно делать репликацию на одном и том сервере?

Спасибо.

Неактивен

 

#2 26.10.2010 02:05:53

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Репликация master-slave на одной машине

master -> slave, а не master <-> slave smile

Так же, как и на разных серверах, но только на одном. Что Вас смущает?
И какую практическую цель вы преследуете?

Неактивен

 

#3 26.10.2010 06:46:20

NARKOZ
Участник
Зарегистрирован: 18.08.2009
Сообщений: 14

Re: Репликация master-slave на одной машине

Цель иметь возможность для бэкапа и ещё для использования slave как read only, а master для записи.
Для репликации на одной машине нужно установить 2 сервера mysql на разные порты, например master - 3306 и slave - 3307, так?

Неактивен

 

#4 26.10.2010 11:58:25

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Репликация master-slave на одной машине

Да, так. Хотя, обычно так не делают: при нормальной работе тогда у Вас будет двойная
запись на диск (мастер и реплика), а во время резервного копирования Вы будете снимать
данные с тех же дисков (т.е. диски мастера все равно будут нагружены). Как следствие,
Вы почти ничего не выиграете.

Пожалуй, единственное, что приходит в голову — это резервное копирование табличек
MyISAM, но, как правило, если Вы используете их — то Вы можете себе позволить уйти
в режим только для чтения на несколько минут ночью для работы mysqlhotcopy.

Неактивен

 

#5 04.11.2010 16:59:05

NARKOZ
Участник
Зарегистрирован: 18.08.2009
Сообщений: 14

Re: Репликация master-slave на одной машине

Ясно, спасибо. Оставлю это до лучших времен.

--
А как насчет других MySQL совместимых СУБД: Percona, MariaDB, Drizzle и т.д.? Интересует в особенности первый.
Какие возможности и ограничения у них по сравнению с MySQL? Можно ли использовать XtraDB вместо InnoDB? Какие преимущества (оптимизация, выигрыши в скорости, стабильность, репликация) дают и насколько они совместимы с MySQL?

Отредактированно NARKOZ (04.11.2010 16:59:43)

Неактивен

 

#6 04.11.2010 18:16:02

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Репликация master-slave на одной машине

Нет такой базы данных — Percona. Есть XtraDB как расширение InnoDB, но оно
работает в рамках одного и того же MySQL. Maria — это форк MySQL, поэтому
он точно такой же, с теми же хранилищами (кроме Aria, но, наверное, не оно
Вас интересует?). Что касается drizzle — еще один форк, не щупал, но раз они
используют InnoDB — не стоит ждать от них прорыва в производительности?

Да, во всех форках есть свои патчи, которые помогают делать что-то. Если Вы
не знаете, в каком месте у Вас bottleneck, это что-то Вам не поможет. Просто
потому что оно будет не там, где нужно.

Неактивен

 

#7 05.11.2010 19:03:57

Oleg Tsarev
Участник
Откуда: Russia
Зарегистрирован: 05.11.2010
Сообщений: 2

Re: Репликация master-slave на одной машине

NARKOZ написал:

Ясно, спасибо. Оставлю это до лучших времен.

--
А как насчет других MySQL совместимых СУБД: Percona, MariaDB, Drizzle и т.д.? Интересует в особенности первый.
Какие возможности и ограничения у них по сравнению с MySQL? Можно ли использовать XtraDB вместо InnoDB? Какие преимущества (оптимизация, выигрыши в скорости, стабильность, репликация) дают и насколько они совместимы с MySQL?

Percona-Server - это MySQL Community Edition + набор патчей на него.
http://www.percona.com/docs/wiki/percon … ures:start
Вот тут полный список и описание улучшений по сравнению с MySQL CE.

XtraDB - это InnoDB Plugin + аналогичный набор патчей.

Мы гарантируем полную совместимость с оригинальным mysql, влоть до формата протоколов и файлов. Т.е. вы можете выключить mysqld, поменять бинарник на Percona, и включить назад - всё будет работать.
Те фичи, что меняют форматы явно оговорены в документации.

В вашем же случае для бекапов лучше использовать Percona XtraDB Backup, специально созданную для таких случаев, и куда лучше прооптимизированную.
master -> slave для репликации не самый удачный приём:
1) реплика может запаздывать
2) упала репликация, пока чинили (канал восстанавливали, поднимали назад) - упал master, и привет.

По всем вопросам можете прочитать на сайте http://percona.com/ либо спросить в percona-disscussion на google groups.
Также меня можно спрашивать про все фичи, что не XtraDB (патчи для XtraDB разрабатывает другой человек).

Отредактированно Oleg Tsarev (05.11.2010 19:07:35)

Неактивен

 

#8 08.11.2010 03:22:07

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Репликация master-slave на одной машине

(wow, percona мониторит наш форум! smile )

Олег, не связанный вопрос — я недавно пытался собрать xtrabackup и столкнулся
с тем, что без хорошего знания языка это сделать не получается sad

В частности хочется, чтобы он собирался над исходниками innodb из ветки 5.1
(сейчас не собирается), а еще лучше — над исходниками xtradb, которые Вы же
и поддерживаете (тоже не собирается). Лечатся сборки исправлением патчей в паре
мест (тривиальным) и менее тривиально — добавить три функции-заглушки, которых
не хватает на этапе линковки.

--

Ну и что касается ответа NARCOZу — человек пытается придумать, как сделать
систему отказоустойчивой, при этом находясь в рамках одного компьютера.
Насколько я знаю, так сделать не получится, потому что железка одна sad

Неактивен

 

#9 08.11.2010 10:15:21

Oleg Tsarev
Участник
Откуда: Russia
Зарегистрирован: 05.11.2010
Сообщений: 2

Re: Репликация master-slave на одной машине

paulus написал:

(wow, percona мониторит наш форум! smile )

Ну, конкретно я мониторю русский сектор, интересно же что люди пишут smile

paulus написал:

Олег, не связанный вопрос — я недавно пытался собрать xtrabackup и столкнулся
с тем, что без хорошего знания языка это сделать не получается sad

Хорошего знания какого языка? Си?

paulus написал:

В частности хочется, чтобы он собирался над исходниками innodb из ветки 5.1
(сейчас не собирается), а еще лучше — над исходниками xtradb, которые Вы же
и поддерживаете (тоже не собирается). Лечатся сборки исправлением патчей в паре
мест (тривиальным) и менее тривиально — добавить три функции-заглушки, которых
не хватает на этапе линковки.

Пожалуйста, заведите bug.
Баг-трекер: https://launchpad.net/percona-xtrabackup
Прямая ссылка на bug report: https://bugs.launchpad.net/percona-xtrabackup/+filebug
XtraDB Backup занимается мой коллега, я с ним не работал, к сожалению.

paulus написал:

Ну и что касается ответа NARCOZу — человек пытается придумать, как сделать
систему отказоустойчивой, при этом находясь в рамках одного компьютера.
Насколько я знаю, так сделать не получится, потому что железка одна sad

Зависит от того, какая отказоустойчивость нас интересует.
От аппаратного сбоя не защитит, от софтверного - вполне. И в любом случае, бекапы по-хорошему складывать в отдельный storage.

Неактивен

 

#10 08.11.2010 14:34:59

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Репликация master-slave на одной машине

Да, си smile

Завел; просто думал — вдруг я где-то не там смотрю, и есть более правильные ис-
ходники.

Кстати, про софтверный сбой — я бы тоже засомневался. Допустим, такой случай:
1. Софтверный сбой при записи, мы записываем в tablespace битую информацию.
2. Приходит xtrabackup, который копирует файлик целиком с битой информацией.
3. После этого мы битую информацию пытаемся прочитать, обнаруживаем сбой, падаем.
4. И бэкап не помогает, потому что он плохой sad

Хотя, может, я просто не верю в отказоустойчивость на одной машинке — опыт
говорит, что железки ломаются куда чаще ПО.

Неактивен

 

#11 06.11.2012 16:37:14

syskoff
Участник
Зарегистрирован: 06.11.2012
Сообщений: 1

Re: Репликация master-slave на одной машине

Здравствуйте.
Скажите пожалуйста, а в этой статье тоже рассматривается случай репликации с двумя серверами на одной машине?
http://agafonov.pp.ru/blog/2012/02/07/% … %80%D0%B5/

Неактивен

 

Board footer

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