Меню сайта
① Главная
② Обо мне
③ Статьи
④ Дневник
⑤ Картинки
⑥ Файлы
⑦ Форум
⑧ Гостевая книга

Категории раздела
Куклы и игрушки [55]
Личное [102]
Музыка [18]
Общее [225]
Японский язык [12]
ZX Spectrum [24]
Субмарины [90]
Настольные игры [32]
Го (碁) [9]
Книги [8]
Япония [26]
Таро [4]
Запертый шкаф [15]
CSA (КША) [12]
Ubuntu (Linux) [123]
Windows [1]
Песочница [1]

Мои интересы

Помощь сайту
Это некоммерческий проект, хостинг крутит рекламу. Вы можете поддержать автора и пожертвовать небольшую сумму на её отключение.



 
Дневник (22.06.2016 01:02)
Ubuntu (Linux) Контекстная замена в sql базе через PHPMyAdmin

После смены доменного имени на сайте под управлением CMS Wordpress во всех записях остались прежние url, и соответственно стали нерабочими все ссылки и изображения.
Менять их вручную  при обилии содержимого нереально, штатных средств нет, поэтому оставалось либо найти какой-либо плагин, либо править через PHPMyAdmin. Я выбрал второе.

Руководствуясь добрым напутствием техподдержки хостинга и парой статей:
http://pro-wordpress.ru/nastrojka-wordpress/massovaya-zamena-ssylok-wordpress.php, https://help.sweb.ru/entry/197/.

Я успешно заменил старые ссылки на новые.

Во-первых я сделал бэкап sql базы.
Затем в PHPMyAdmin выбрал пункт SQL в ленте меню:
"Структура, SQL, Поиск, Запрос по шаблону, Экспорт, Импорт, Операции..."
В появившемся окне ввести запрос и нажать Вперёд (Go). Если не будет ошибок, всё успешно выполнится.

Пока у меня не получилось, я натолкнулся на две ошибки:

#1064 - You have an error in your SQL syntax;
Ошибка синтаксиса, я использовал неправильные ковычки по рекомендации автора  с блога

pro-wordpress.ru. НА букве Ё у меня такие ковычки: ` (скошенные влево) Это есть неправильно.


#1054 - Unknown column
Эту ошибку я вызвал ещё как-то, экспериментируя с синтаксисом. Не нарушил синтаксиса, но система восприняла мою строку на неведомую ей колонку...

Я поглядел на образец кода по первой ссылке, и применил правильные ковычки из него, и всё получилось. Вот моя строка:

UPDATE wp_posts SET post_content = REPLACE (post_content, 'что.менять', 'чем.заменить');

А вот вариант для php кода:

$sql = "UPDATE wp_posts SET post_content = REPLACE (post_content, \'что.менять\', \'чем.заменить\')";


Пожалуй, на этом всё, хотя в статье приводится описание плагина better search replace для замены всего этого силами движка WD, я его тоже потом проверил, сработал без проблем.

Как оказалось, у меня ещё пункты подменю остались старые, а они хранятся не только в wp_posts, а в wp_options, ‹wp_postmeta.




Ссылки.

FAQ - часто задаваемые вопросы по MySQL
http://sqlinfo.ru/forum/viewtopic.php?id=679
Там же, п.12. Как подключиться и выполнить запрос к базе данных из PHP/Perl/Python/Java/C/C++? См. статью Hello MySQL



Категория: Ubuntu (Linux) | Просмотров: 126 | Добавил: harushima | Рейтинг: 0.0/0 |
Другие записи за: 2016 » Июнь » 22
Всего комментариев: 0.
В целях защиты от спама, добавлять комментарии могут только зарегистрированные пользователи. Если Вы не хотите регистрироваться под своим именем, войдите под логином: anonymous, паролем: anonymous.   ( Регистрация,   Вход).
Авторизация
Анонимный вход:
anonymous / anonymous
Логин:
Пароль:

Календарь
«  Июнь 2016  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
27282930

Поиск

Облако тэгов
JGSDF игрушки брюнетки кладбище сайты Ярость Дракулы древний египет девушки кошки cthulhu вампиры Kitsune Ужас Аркхема Инструмент комиксы Lovecraft Готика Submarine submarine rc toy hosting Игротека Ужас Аркхэма book uboat мобильная связь ГО Edgar Poe SWF Mansions of Madness Nightmares персоны linux-hardware

Статистика
Яндекс.Метрика
Онлайн всего: 1
Гостей: 1
Пользователей: 0

Page QR code


Перепечатка материалов сайта без активной ссылки запрещена. Следить за RSS
(c) hermitlair.ucoz.com 2009-2017
Лучший браузер!
Блокировка рекламы