Обновления базы данных MySql - PullRequest
0 голосов
/ 19 ноября 2011

У меня есть 2 базы данных

База данных A - для сайта A

База данных B - для сайта B

Обе базы данных имеют одинаковую структуру.Таблица в этих базах данных - Пользователь.То, что я хочу сделать, это то, что если пользователь зарегистрируется, отредактирует свою информацию, удалит свою учетную запись с сайта A, то его влияние также проявится и на сайте B, и наоборот.

Нужно ли объединять две базы данных?используя некоторую функцию MYSQL или я запускаю php-файл, используя cron каждую секунду, и помещаю в него код, который проверяет его и делает это (я не думаю, что это правильный путь).Любая помощь будет высоко оценена.

PS Это не пользовательская работа PHP.Я использую CMS.Я не хочу делать это со всеми другими таблицами этой базы данных, поскольку оба сайта содержат совершенно разные данные в других таблицах соответствующих баз данных.Они просто делятся своими пользователями (может быть, вы говорите это как сеть сайта).Я хочу обновить таблицу пользователей и таблицу сведений о пользователе.Спасибо

Ответы [ 3 ]

0 голосов
/ 19 ноября 2011

Вы можете использовать MySQL в режиме кластеризации, если у вас есть бюджет.Или подайте все вставки любых обновлений от A до B. Или используйте Cronjob, как вы упомянули.Или написать API для БД.и там вы вставляете / обновляете оба.

0 голосов
/ 19 ноября 2011

Похоже, вы хотите репликации.Если вам действительно нужно записать данные как на А, так и на Б, вам понадобится репликация мастер-мастер, и это непростой путь.Подумайте внимательно, прежде чем сделать это;)

Вы также можете проверить Вольфрамовый репликатор .Он с открытым исходным кодом и делает некоторые "почти репликационные" вещи, которые могут удовлетворить ваши потребности.

0 голосов
/ 19 ноября 2011

Похоже, вы говорите, что siteA и siteB используют одну и ту же таблицу пользователей.Если это так, то вы должны использовать только одну таблицу пользователей.Вы можете выполнять запросы к базам данных с помощью mysql, указав имя базы данных:

SELECT username from siteA.users where user_id = 3
...