Как вытащить домен из сайта sql
Перейти к содержимому

Как вытащить домен из сайта sql

Mysql query to extract domains from urls

I had to combine some of the previous answers , plus a little more hackery for my data set . This is what works for me , it returns the domain and any sub-domains:

Explanation ( cause non-trivial SQL rarely makes sense ):

SUBSTRING_INDEX(target_url, ‘/’, 3) — strips any path if the url has a protocol
SUBSTRING_INDEX(THAT, ‘://’, -1) — strips any protocol from THAT
SUBSTRING_INDEX(THAT, ‘/’, 1) — strips any path from THAT ( if there was no protocol )
SUBSTRING_INDEX(THAT, ‘?’, 1) — strips the query string from THAT ( if there was no path or trailing / )

SQL-запросы, необходимые для переноса сайта на WordPress на другой домен

Мне, как разработчику сайтов, очень часто приходится этим заниматься — переносить сайты с локального и тестового серверов, а также и наоборот, создавать тестовые копии сайтов на субдоменах.

Как ни странно, каждый разработчик осуществляет перенос по-своему, есть и такие, которые вручную меняют значения в базе данных.

Что касается меня, то каждую задачу я пытаюсь максимально упростить и максимально ускорить. Поэтому вы можете пропустить теоретическую часть описания SQL-запросов и сразу перейти к инструменту, который вам сгенерирует их автоматически.

Описание запросов SQL

Вообще основных запросов три (на скриншоте есть и четвертый запрос, но о нем чуть позже). Итак, http://test.truemisha.ru — старый домен, https://misha.agency — новый.

Названия таблиц базы данных WordPress имеют префиксы. По умолчанию это wp_ , но на вашем сайте префикс может быть абсолютно каким угодно, например таблица wp_posts у вас может называться misha_posts или hjkpoiposts , учтите это.

Для того, чтобы выполнить эти запросы, вам нужно выбрать базу данных в phpMyAdmin, перейти на вкладку SQL, вставить запросы в поле и нажать ок.

Вставляем запросы во вкладке SQL в phpMyAdmin

Вкратце рассмотрим каждый из запросов по отдельности.

Замена site_url и home_url

WordPress хранит значения абсолютного URL сайта в базе данных в таблице wp_options . Если их не поменять, то при переходе по ссылкам внутри сайта вас будет постоянно перенаправлять на старый домен.

Поиск и замена в содержимом постов

Тут всё понятно — все ссылки и изображения в содержимом постов WordPress имеют абсолютные URL, а значит — меняем.

Значения произвольных полей постов

Не всегда нужен, но если вы лишний раз запустите этот запрос, ничего плохого не случится.

Для чего нужны guid?

Используются для RSS как глобальный идентификатор (больше кстати не используются нигде).

колонка guid в таблице wp_posts

Так что же делать с guid? Тут есть два случая:

    Если вы переносите сайт с локального сервера — меняем все значения guid:

Ссылки в комментариях

Вполне возможно, что в комментариях оставлялись внутренние ссылки на какие-либо посты или страницы сайта — значит для комментов тоже будет свой SQL-запрос.

Ещё посты про базы данных в WordPress

Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.

PhpMyAdmin как заменить сатрый домен на новый в SQL базе для WordPress + полезное при переезде

Я люблю использовать в работе локальный сервер Laragon и по роду деятельности часто сталкиваюсь с сайтами на WordPress которые не были предоставлены в бекапе созданном при помощи плагина Duplicator. По этому все что остается это произвести поиск и замену в SQL базе данных на прямую.

Для этого я использую PHPMyAdmin на котором и буду показывать все примеры в даном посте.

Замена старого домена на новый

Как узнать старый домен сайта на WordPress через базу данных

Для начала нам нужно узнать старый домен сайта, для этого откройте базу данных в PHPMyAdmin, и в таблице wp_option обратите внимание на ячейку site_url и home

Узнаем старый адрес сайта

Все строки для замены:

А теперь подробнее о каждой строке.

1. Обновляем HOME и SITE_URL через базу данных

ВАЖНО – wp_options в многих случаях может отличаться префиксом, и у Вас он может быть другим (например mysite_options ) по этому смотрим по своей базе данных.

2. Обновляем post_content через базу данных

ВАЖНО – wp_posts в многих случаях может отличаться префиксом, и у Вас он может быть другим (например mysite_posts ) по этому смотрим по своей базе данных.

3. Обновляем post_content через базу данных

ВАЖНО – wp_posts в многих случаях может отличаться префиксом, и у Вас он может быть другим (например mysite_posts ) по этому смотрим по своей базе данных.

4. Обновляем wp_postmeta через базу данных

ВАЖНО – wp_postmeta в многих случаях может отличаться префиксом, и у Вас он может быть другим (например mysite_postmeta ) по этому смотрим по своей базе данных.

Далее открываем сайт и смотрим как все отрабатывает, если все сделано верно то проблем не каких быть не должно. Но бывают случаи когда появляются такого рода ошибки:

Изображения подключаются через старый домен

И ниже мы рассмотрим как их решить. Но в начале нам нужно получть доступ к панели сайта, и об этом сейчас подробнее.

Как войти на сайт если нет логина и пароля

Бывают случаи когда заказчик не предоставляет не каких данных, и тогда веб мастеру нужно не много поплясать с бубном. Давайте рассмотрим два основных метода для того что бы получить доступ к дамин панели при помощи полноценных прав администратора.

При помощи смены пароля администратора через базу данных:

Переходим в базу данных далее выбираем таблицу wp_users (на скриншоте я замылил, просто у меня префикс отличается от wp). Здесь выбираем любого пользователя администратора, и жмем карандаш (стрелка указывает на него).

Смена пароля через базу данных
Очень подробно я описывал в данном посте.

Далее в поле user_pass в выпадающем меню выбираем MD5 далее в поле рядом вводим свой пароль. После того как ввели жмем кнопку GO :

PhpMyAdmin как заменить сатрый домен на новый в SQL базе для WordPress + полезное при переезде

Теперь со спокойной душой входим в админ панель WordPress под полноценным администратором.

При помощи смены пароля администратора через PHP плагин:

От себя скажу последнее время по чему-то данный метот не всегда срабатывате, и времени пока не нашел как добиться одного универсального решения. Так что как будет время я допишу.

Исправление битых изображений после поиска и замены в базе данных

Теперь когда у нас есть доступ к панели нам нужно обновить постоянные ссылки, обновление которых решает проблему в большенстве случаев. Для этого перейдите на страницу настроек постоянных ссылок:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *