Проблема с репликацией MASTER<->MASTER

MySQL/PostgreSQL/SQLite/Oracle/M$SQL/....

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
kozak
сержант
Сообщения: 240
Зарегистрирован: 2007-07-20 15:22:54
Откуда: Запорізька Січ

Проблема с репликацией MASTER<->MASTER

Непрочитанное сообщение kozak » 2009-05-19 15:59:42

Всем привет!

Взялся построить репликацию master<->master.
Все получилось, точнее почти все... :-o

На любом сервере консольно делаю

Код: Выделить всё

INSERT INTO base.table (col1) VALUES ('VAL');
Таблица обновляется на двух машинах без проблем.
Но вот как только делаю то-же самое php-скриптом

Код: Выделить всё

@ $dbh = mysql_connect($db_host, $db_user, $db_pass);
if (!$dbh) { echo "Error: Could not connect to DB!"; exit; }
//mysql_select_db($db_base, $dbh) or die("Could not select DB!");
$query = "INSERT INTO db_base.table (col1) VALUES ('123')";
mysql_query($query);
mysql_close($dbh);
при этом данные обновляются только на этой машине. Репликация НЕ работает. :pardon:

Причем дело только в

Код: Выделить всё

mysql_select_db($db_base, $dbh) or die("Could not select DB!");
!!!

Раньше (до затеи с репликацией) весь сайт написан без mysql_select_db();

Пока я не начал добавлять mysql_select_db(); по всему сайту, может есть другой выход.!?

Ведь функция mysql_select_db(); не является обязательной при установлении sql-подключения?

Спасибо.
Діла добрих оновляться, Діла злих згинуть. Т. Г. Шевченко.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: Проблема с репликацией MASTER<->MASTER

Непрочитанное сообщение zg » 2009-05-19 16:10:01

VladB писал(а):Пока я не начал добавлять mysql_select_db(); по всему сайту, может есть другой выход.!?
mysql_select_db является устаревшей функцией, вместо неё рекомендуется использовать средства сервера

Код: Выделить всё

USE database
VladB писал(а):не является обязательной при установлении sql-подключения?
нет.

Если из консоли работает, то ищи ошибки в скрипте, проверяй данные для подключения.

Аватара пользователя
kozak
сержант
Сообщения: 240
Зарегистрирован: 2007-07-20 15:22:54
Откуда: Запорізька Січ

Re: Проблема с репликацией MASTER<->MASTER

Непрочитанное сообщение kozak » 2009-05-19 16:42:48

Смотрю в лог.
Почему-то все команды передаваемые из консоли содержат USE database; Даже если делаем из консоли

Код: Выделить всё

INSERT INTO base.table (col1) VALUES ('VAL');
мастер слэйву передает

Код: Выделить всё

USE base; INSERT INTO base.table (col1) VALUES ('VAL');
. А после php-запроса только

Код: Выделить всё

INSERT INTO base.table (col1) VALUES ('VAL');
.

Т.е. сервак не врубается куда ему вставлять данные! :(
Діла добрих оновляться, Діла злих згинуть. Т. Г. Шевченко.

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: Проблема с репликацией MASTER<->MASTER

Непрочитанное сообщение zg » 2009-05-19 17:42:26

VladB писал(а):Т.е. сервак не врубается куда ему вставлять данные!
странно, квалификаторы какбы для того и задуманы, чтобы базу идентифицировать однозначно.Но всё равно попробуй использовать USE в начале скрипта.

Аватара пользователя
kozak
сержант
Сообщения: 240
Зарегистрирован: 2007-07-20 15:22:54
Откуда: Запорізька Січ

Re: Проблема с репликацией MASTER<->MASTER

Непрочитанное сообщение kozak » 2009-05-19 18:09:58

Придется вписывать USEы в сотни страниц...
Моя лень подсказывает мне что есть какой-то конфиг для MySQL или PHP... :Search:



Но скорей всего для для MySQL...
Діла добрих оновляться, Діла злих згинуть. Т. Г. Шевченко.

Аватара пользователя
kozak
сержант
Сообщения: 240
Зарегистрирован: 2007-07-20 15:22:54
Откуда: Запорізька Січ

Re: Проблема с репликацией MASTER<->MASTER

Непрочитанное сообщение kozak » 2009-05-21 14:58:30

Проблема решена.

Ошибка как всегда из-за не знания MySQL MANs :smile:

В [mysqld] вместо replicate-do-db = <db> юзаем replicate-wild-do-table=<db>.%

Это мне стоило дня жизни! :smile: Кушайте на здоровье ))

Найдено здесь: http://dev.mysql.com/doc/refman/5.0/en/ ... s.html#end
Діла добрих оновляться, Діла злих згинуть. Т. Г. Шевченко.