Мои предыдущие посты:
http://www.drupal.ru/node/36823
http://www.drupal.ru/node/36858
Необходимо, чтобы на двух разных сайтах с двумя базами данных были общие пользователи. Drupal 6.14. Необходимо чтобы базы данных сайт1 и сайт2 использовали общую таблицу «users» сайт1
При создании нового пользователя на сайт1 на сайт2 пользователи не создаются. При удалении таблицы «users» с сайт2 вылетают ошибки.
sittings.php на двух сайтах редактирую следующим образом:
Сайт 1
$db_prefix = array(
* 'default' => '',
* 'users' => 'caйт1.',
* 'sessions' => 'caйт1.'
* 'role' => 'caйт1.'
* 'authmap' => 'caйт1.'
$db_url = 'mysqli://root@localhost/caйт1';
$db_prefix = '';
Сайт 2
$db_prefix = array(
* 'default' => '',
* 'users' => 'caйт1.'
* 'sessions' => 'caйт1.'
* 'role' => 'caйт1.'
* 'authmap' => 'caйт1.'
$db_url = 'mysqli://root@localhost/caйт2';
$db_prefix = '';
Помогите разобраться почему сайт2 не хочет использовать таблицу «users» для сайт1
Комментарии
базы разные
Мне и нужно, чтобы сайт1 и сайт2 использовали таблицу "users" БД сайт1
а что нужно у первого сайта что то писать в сеттингс?
это зачем?
$db_prefix = array(
* 'default' => '',
* 'users' => 'caйт1.',
* 'sessions' => 'caйт1.'
* 'role' => 'caйт1.'
* 'authmap' => 'caйт1.'
сегодня буду пробовать объединить юзверов. Отпишусь по результатам
По идее необходимо. Буду ждать Ваших результатов. Отпишитесь в любом случае!
по идее, у основного сайта и так собственная база
или я чего то не так понимаю.
Без разницы, хоть так, хот так все равно таблицы не объединяются.
Сайт 1
$db_url = 'mysqli://root@localhost/caйт1';
$db_prefix = '';
Сайт 2
$db_url = 'mysqli://root@localhost/caйт2';
$db_prefix = array(
'default' => '',
'users' => 'caйт1.'
'sessions' => 'caйт1.'
'role' => 'caйт1.'
'authmap' => 'caйт1.'
);
точки наверное убрать бы нужно из названий префиксов
Везде пишут, что "." нужны для того,чтобы таблица ссылалась на аналогичную таблицу в другой базе, а "_" для того, чтобы таблица ссылалась на префикс таблицы.
мда, plesk не дает прописать к новой базе уже имеющегося пользователя
написал в саппорт, жду ответа
Как ответят или что либо получится, обязательно напишите сюда.
Не нужно мучить плеск для того, чтобы иметь возможность обращаться к разным базам.
$db_url['default'] = 'mysqli://root:passwd@localhost/drupal6';
$db_url['second'] = 'mysqli://root2:passwd2@localhost/second';
Ну и $db_prefix
$db_prefix = array(
'default' => '',
'users' => 'second.',
'sessions' => 'second.',
'role' => 'second.',
'authmap' => 'second.'
......
);
И да... бэкапы все равно нужно дekfnm
Вы производили установку по такой схеме?
1. Создали сайт 1;
2. Создали сайт 2;
3. Из БД сайта 1, скопировали таблицы в БД сайта 2;
4. Прописали нужные префиксы.
alexweb, спасибо
буду пробовать
p.s. пользователя можно присобачить, но через команду mysql grant
Вам удалось сделать общую базу данных пользователей для разный сайтов?
Оно?
http://drupal.org/node/22267
Хорошая статья но это когда одна общая база и разные сайты. Хорошо описана. Сделал по ней все как написано. Результат тот - же. Сайты есть, общих таблиц пользователей нет. Пробовал на Denwer и непосредственно на хостинге. Ни чего не понимаю. Ведь все четко делаю, а общих таблиц нет!
у меня не получается
ошибки
* user warning: SELECT command denied to user 'free'@'localhost' for table 'users' query: SELECT * FROM drup.users u WHERE uid = 0 in /путь к субдомену/modules/user/user.module on line 167.
* user warning: SELECT command denied to user 'free'@'localhost' for table 'sessions' query: SELECT COUNT(sid) AS count FROM drup.sessions WHERE timestamp >= 1258653339 AND uid = 0 in /путь к судомену/includes/session.inc on line 119.
* user warning: SELECT command denied to user 'free'@'localhost' for table 'users' query: SELECT DISTINCT u.uid, u.name, s.timestamp FROM drup.users u INNER JOIN drup.sessions s ON u.uid = s.uid WHERE s.timestamp >= 1258653339 AND s.uid > 0 ORDER BY s.timestamp DESC in /путь к субдомену/modules/user/user.module on line 764.
видимо действительно нужно настраивать mysql grant
Это случается, когда Вы удаляете общие таблицы.
я общие не удалял - основной же сайт работает (а именно его таблицы юзерс и сессии я пытаюсь "отдать" еще и второму сайту)
Вот и я не могу отдать таблицы первого сайта второму. http://www.drupal.ru/node/36858#comment-195364
пока добавлял пользователей к базе через phpmyadmin
сломал SQL
создал пользователя
затем решил отредактировать
phpmyadmin спросил - создать нового и убить существующего
я согласился - в итого добавился новый, а старый не удалился
теперь SQL падает через какое то вермя после запуска
Обалдеть! Не думал, что "мультисайтинг" окажется таким сложным занятием!
http://lamp.drupalogy.ru/book/322-bazy-dannykh-v-multisaitinge