Поддержка Проблемы и решения Как заменить префикс базы данных?

  • При создании блога ранее префикс таблиц БД был стандартным wp_. Позже я поменяла его на blog_. Теперь от этого проблем стало только больше. Изменяя префикс на club_ в БД будто бы еще где-то встречается что-то подобное в таблице и начинает ломаться вход в админку вордпресса. Если я не меняю этот префикс, то админка сохраняется, при этом меняя только название БД для сайта. Как изменить этот чертов префикс blog_ чтобы уйти от этих проблем в будущем при случаи? Что я делаю: скопировала файлы водпресс на новый домен внутри одного хостинга, поменяла название БД, и префикс БД, все это прописала в конфиге вордпресса, поменяла ссылки на новый домен. После этого пропадает админка, если я и могу войти, то это выглядит как юзер а не как админ, но при этом все равно нет кнопки даже «изменить профиль». На что так сильно влияет замена префикса blog_ я не могу понять. Но заметила что именно это влияет на пропажу админки.

Просмотр 3 ответов — с 1 по 3 (всего 3)
  • Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Изменяя префикс на club_ в БД будто бы еще где-то встречается что-то подобное в таблице и начинает ломаться вход в админку

    Да, нужно изменить ещё несколько полей. Посмотрите ответ из темы «Переустановка WordPress без вреда для контента», пункты 2 и 3.

    На всякий случай приведу список и здесь:

    1. Заменить все вхождения старого префикса на новый в столбце meta_key таблицы *_usermeta. Если префикс был blog_, то могут встретиться параметры:
      blog_capabilities
      blog_autosave_draft_ids
      blog_user_level
      blog_user-settings
      blog_user-settings-time

      В итоге должно получиться примерно так (с префиксом club_):

      club_capabilities
      club_autosave_draft_ids
      club_user_level
      club_user-settings
      club_user-settings-time
    2. То же самое с параметром blog_user_roles (по умолчанию — wp_user_roles) в таблице *_options.

    @sergeybiryukov так я проверила, и правда после «Заменить префикс таблицы» в этих параметрах остается старый префикс. но это получается вручную уже надо корректировать такие замены, верно? ведь уже функциями phpMyAdmin SQL панели не заменить это уже массово.

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Да, можно вручную или с помощью SQL-команд:

    
    UPDATE club_usermeta SET meta_key = 'club_capabilities' WHERE meta_key = 'blog_capabilities';
    UPDATE club_usermeta SET meta_key = 'club_autosave_draft_ids' WHERE meta_key = 'blog_autosave_draft_ids';
    UPDATE club_usermeta SET meta_key = 'club_user_level' WHERE meta_key = 'blog_user_level';
    UPDATE club_usermeta SET meta_key = 'club_user-settings' WHERE meta_key = 'blog_user-settings';
    UPDATE club_usermeta SET meta_key = 'club_user-settings-time' WHERE meta_key = 'blog_user-settings-time';
    UPDATE club_options SET option_name = 'club_user_roles' WHERE option_name = 'blog_user_roles';
    
Просмотр 3 ответов — с 1 по 3 (всего 3)
  • Тема «Как заменить префикс базы данных?» закрыта для новых ответов.