Несколько сайтов на одной БД

Тема в разделе "Базы данных", создана пользователем efs, 14 июл 2011.

Статус темы:
Закрыта.
Модераторы: latteo
  1. efs

    efs SEO оптимизатор дискрипторов одностраничных сайтов

    Moderator
    Регистр.:
    20 ноя 2009
    Сообщения:
    825
    Симпатии:
    475
    Дано: 2 (3,5, много) сайтов на разных доменах, работают на одной CMS (довольно редкой, поэтому в ее сообществе спрашивать бесполезно).
    Необходимо объединить базы пользователей. Есть ли в MySQL, что-то вроде symlinks? Или каким образом можно заставить при запросе к таблице "111_USER" читать таблицу "222_USER"?
     
  2. DrakonHaSh

    DrakonHaSh

    Регистр.:
    29 июн 2010
    Сообщения:
    358
    Симпатии:
    122
    CREATE VIEW
     
  3. Funaki

    Funaki

    Регистр.:
    26 июн 2008
    Сообщения:
    151
    Симпатии:
    16
    если ты имеешь ввиду именно объединить данные двух таблиц и читать их из одной но с именем "111_USER", то тут правильно подметили тебе надо старую "111_USER" переименовать на любое имя ХХХ
    и затем вместо неё создать view
    Код:
    CREATE VIEW "111_USER" AS SELECT * FROM "XXX" UNION ALL SELECT * FROM "222_USER"; 
    как-то так
     
  4. sir_Jack

    sir_Jack Создатель

    Регистр.:
    9 авг 2009
    Сообщения:
    16
    Симпатии:
    0
    Ну тут я понимаю фишка не в том чтобы читать, но и чтобы писать...
    много сайтов, но регистрация на одном приводит к реге (и авторизации) на других...
    решал подобную задачу прямым и простым методом :)
    модифицировал код движка на работу с одной таблицей users (без префикса).. а все сайты имели свой префикс (кроме users)
     
  5. watt

    watt Создатель

    Регистр.:
    29 ноя 2011
    Сообщения:
    12
    Симпатии:
    0
    а разве можно делать одну таблицу без префикса?и как потом будет считывать если вся база с префиксом а таблица как бы левая....0_ООО если я ошибаюсь,подскажите как сделать...
     
  6. Soul :)

    Soul :) Постоялец

    Регистр.:
    22 мар 2007
    Сообщения:
    86
    Симпатии:
    9
    Все зависит от того как написан код движка но Вам может помочь:
    1. Views как уже писали выше. Если Вы почитаете документацию, то узнаете, что в некоторых случаях представления позволяет и писать в таблицу.
    2. Можно попробовать использовать federated table engine
     
  7. AlexMist

    AlexMist Создатель

    Регистр.:
    17 ноя 2009
    Сообщения:
    49
    Симпатии:
    7
    Даже если пользователи будут в одной таблице, на каждом сайте придется заново логинится ... так что разницы особо нет. Если это не важно , то можно например по крону мержить записи между собой.
     
  8. sir_Jack

    sir_Jack Создатель

    Регистр.:
    9 авг 2009
    Сообщения:
    16
    Симпатии:
    0
    ну я сначала поставил все движки, а потом вручную изменил имя таблицы :) и все скрипты
     
  9. HEPB

    HEPB Постоялец

    Регистр.:
    24 июн 2009
    Сообщения:
    111
    Симпатии:
    8
    а разве в mysql нет понятия триггеров? Можно было б триггеры написать, что при записи в одну таблицу, автоматом прописывались и в другие
     
  10. bmanuev

    bmanuev Создатель

    Регистр.:
    3 авг 2009
    Сообщения:
    12
    Симпатии:
    0
    разве такое возможно?
     
Статус темы:
Закрыта.