Перенос пользователей и групп Битрикса через mysqldump и SQL
Когда уместен «сырой» перенос
Штатная миграция и API ядра безопаснее для жизни продакшена. Прямой mysqldump таблиц пользователей имеет смысл на копии проекта, при слиянии песочниц, при аварийном восстановлении или когда нужно перенести только изолированный срез данных без полного бэкапа сайта. Работайте с бэкапом, проверяйте версии ядра и схемы БД на источнике и приёмнике.
Сноска по имени базы
Ниже вместо db_name подставьте фактическое имя базы «1С-Битрикс: Управление сайтом». Удобно временно завести переменную в шелле или в ~/.my.cnf, чтобы не светить пароль в истории команд.
Дамп всего контура пользователя
В одном файле удобно собрать основную таблицу b_user, членство в группах b_user_group, расширенные права b_user_access, пользовательские поля и вспомогательные таблицы, от которых зависят авторизация и профиль. Конкретный набор столбцов и таблиц может чуть отличаться по редакции и модулям: перед переносом сравните SHOW CREATE TABLE на обеих базах.
mysqldump db_name \
b_user b_user_access b_user_access_check b_user_counter b_user_digest \
b_user_field b_user_field_confirm b_user_field_enum b_user_field_lang \
b_user_group b_user_hit_auth b_user_option b_user_stored_auth \
b_utm_user b_uts_user b_sec_user \
> users_and_related.sql
Пароли в b_user остаются хешами как в источнике: это не повод пересылать дамп открытым текстом. После импорта на новой площадке проверьте кодировку коннекта и при необходимости пересоберите индексы.
Группы без состава участников
Таблица b_group хранит названия и настройки групп. Если выгрузить только её, связи пользователей с группами не переедут — они живут в b_user_group, который уже попал в предыдущий дамп. Отдельный файл для групп полезен, когда нужно перенести справочник ролей на чистую инсталляцию до заливки пользователей.
mysqldump db_name b_group > b_groups.sql
Порядок восстановления
На пустой схеме разумно сначала восстановить b_group, затем файл с пользователями и b_user_group, чтобы внешние ссылки на идентификаторы групп разрешались. При совмещении с уже живой базой следите за коллизиями первичных ключей: возможны сдвиги AUTO_INCREMENT или ручное сопоставление ID.
Что проверить после импорта
- Кеш и сессии: на новом контуре почистите серверное кеширование авторизации при странных ошибках входа.
- Секреты и двухфакторные данные таблицы
b_sec_userпереносятся вместе с пользователем — не оставляйте архив без контроля доступа. - Если база приёмника другой версии ядра, сравните наличность таблиц и при отсутствии колонок адаптируйте
mysqldumpк общему пересечению схем.
Не хотите копаться сами?
Починю за 1-3 дня. Без предоплаты — оплата по результату.
15+ лет опыта с 1С-Битрикс · Без предоплаты · 7 дней гарантии