У меня есть база данных Wordpress, которая была установлена в среде разработки ... таким образом, все ссылки на сам сайт имеют фиксированный IP-адрес (скажем, 192.168.16.2). Теперь мне нужно перенести эту базу данных на новую установку Wordpress на хостинге. Проблема в том, что дамп SQL содержит много ссылок на IP-адрес, и я должен заменить его на: my_domain.com.
Я мог бы использовать sed
или другую команду, чтобы изменить это из командной строки, проблема в том, что есть много данных конфигурации, которые используют JSON. Ну и что? Ну, как вы знаете, в массивах JSON используются такие вещи, как: s:4:
чтобы узнать, сколько символов имеет элемент, и, таким образом, если я просто заменю IP на доменное имя, файлы конфигурации будут повреждены.
Несколько лет назад я использовал приложение для Windows, которое позволяет изменять значения в базе данных и заботится о массивах JSON. К сожалению, я забыл название приложения ... поэтому вопрос: знаете ли вы какое-либо приложение, которое позволяет мне делать то, что я хочу?
Ответы:
Данные, которые вы просматриваете, не отформатированы в формате JSON. JSON (обычно) не хранит типы значений и длины, подобные этим. То, на что вы смотрите - это СЕРИАЛИЗИРОВАННЫЕ данные. Поиск в Google по запросу «mysql replace serialized» выдает эту страницу, которая может помочь: http://davidcoveney.com/mysql-database-search-replace-with-serialized-php/
источник
Кодекс имеет достойное руководство - изменение URL сайта .
По сути, есть несколько мест, где URL имеет значение или не так много (возможно, мне не хватает некоторых):
home
иsiteurl
опции, которые контролируют, где WP думает, что сайт находится;источник
mv olddir.com newdir.com
как вам потребуется перенастроить веб-сервер, перезапустите веб-сервер. Следуйте инструкциям Кодекса здесь, и тогда вы сможете войти в систему как администратор. Это должно начать вас :-)Как сказал выше Rarst, в базе данных есть только две настройки, которые НУЖНЫ изменить. После импорта базы данных я захожу в PHPMyAdmin и редактирую базу данных напрямую.
Я все время использую сервер разработки на своем ПК для импорта каналов данных, и к ним прикреплен URL-адрес, соответствующий строкам http: // localhost / testsite / post-name /, и это никогда не вызывало проблем.
Раньше я использовал поиск и замену SQL, пока не понял, что это не имеет значения. Я перенес несколько сайтов из одного домена в другой, и там, где у меня были абсолютные URL в содержании, я буду использовать опцию поиска и замены SQL.
Дэвид
источник
Это удивительный ресурс, который я отметил, что возвращаюсь снова и снова http://www.onextrapixel.com/2010/01/30/13-useful-wordpress-sql-queries-you-wish-you-knew -ранее/
Они заявляют
источник
Вы можете установить эти значения с помощью констант в
wp-config.php
. После этого вы можете, когда захотите, изменить записи в базе данных через плагин Adminer. Запишите это вwp-config.php
и значения в БД не имеют отношения:источник
Посмотрите мой ответ на этот вопрос:
Он решает ваши проблемы с очисткой данных и может быть настроен для конкретных нужд миграции данных с помощью хуков.
Надеюсь, поможет.
источник
Простые SQL-запросы - не требуются сложные вещи REPLACE:
Используйте те с PHPMyAdmin или любым другим способом доступа к базе данных.
источник
Убедитесь, что у вас выбрана новая база данных, а затем запустите некоторые команды обновления и замены sql для таблиц, в частности, wp_options, wp_posts, wp_postmeta.
Используйте код, как показано ниже, и поменяйте местами старые и новые URL-адреса без косых черт. Также при необходимости измените значения префикса таблицы, где это применимо (например, wp_)
источник
Это очень старый вопрос, но, поскольку я наткнулся на него, когда искал что-то еще, я подумал, что добавлю его для дальнейшего использования.
Я думаю, что самый простой, самый полный способ сделать это - использовать searchreplacedb2.php. Его можно найти здесь: http://interconnectit.com/products/search-and-replace-for-wordpress-databases/ вместе с объяснением его использования.
Это определенно сэкономило мне много времени с переходом с dev на живую среду на моих сайтах WordPress.
Просто убедитесь, что вы удалите его с общедоступного сервера после того, как закончите!
источник
Я вижу, вы хотите переместить свой сайт WordPress из среды разработки на новый сервер или рабочий сервер.
Недавно я переместил свой сайт на рабочий сервер, и я столкнулся с такой же ситуацией. Мне нужно обновить URL сайта, потому что WordPress сохранил URL сайта в базе данных.
Я нашел хороший запрос MySQL, используя который я могу легко изменить URL прямо из базы данных, как.
Вам просто нужно заменить URL вашего сайта со старого доменного имени на новый домен, а затем выполнить запрос на MySQL с помощью PHPMYADMIN.
Для получения дополнительной информации, вы можете прочитать этот учебник.
https://tryvary.com/wordpress-change-url-in-database-using-mysql-query/
источник