Замена http: на https: по всей базе Есть решение
Вопрос следующий. Делаем бэкап базы
mysqldump -u admin_ -p -f admin_ > base.sql
с последующей заменой всех вхождений http: на https:
sed -i 's/http:/https:/g' base.sql
Записываем как обычно в новую базу.
mysql -u admin_ -p admin_ < base.sql
Но происходит ошибка.
ERROR 1062 (23000) at line 2535: Duplicate entry '**********/kruzhka-golov' for key 'PRIMARY'
Причём если перезалить неизменённый файл который мы сделали в первом шаге то база заливается нормально.
Что это и что можно предпринять. Может есть какой-то более простой способ заменить http:?
17 ответов
сделайте через phpMyAdmin
Тоже самое происходит.
Проблема скорее всего в том что определённые таблицы не надо заменять. Вопрос в том какие именно. Почему вылезают дупликаты записей? Phpmyadmin - в этой ситуации сделает абсолютно тоже самое и выдаст ту же ошибку.
ну.... смотря какие цели вы преследуете
есть смысл таким заниматься только в описании товаров, категорий, блогов и т.д.
тогда надо менять именно в тех полях таблиц, в которых есть эта необходимость
Цель - убрать mixed content. Соответственно да нужно именно это - описания товаров, категорий, и новости-блог. Вы не могли бы подсказать в каких таблицах менять?
посмотрите таблицы - там по названиям все понятно
shop_product, shop_category.....
ну и в таблицу всегда можно заглянуть и увидеть оно или не оно
Вообще скоро этот вопрос посыпется валом имхо. Так как гугл с декабря будет очень сильно бить за mixed content. А у старых сайтов таких страниц очень много. А по помощи всё понятно. За редким исключением вопросы решаются самостоятельно.
ну... я не поддержка - я вольный слушатель
по поводу того, что у вас есть ссылки http в теле описаний - а что они там делают? почему вы не использовали относительные ссылки? - это целиком и полностью ваши проблемы. Вэбасист ни как не должен отвечать за ваше наполнение сайта.
Было много контент менеджеров которые вставляли ссылки например на картинки с других файлообменников. Я ещё раз повторяю что сайт старый.
понимаю, сочувствую
НО! движок и поддержка здесь не при чем. Это проблемы организации работы контент менеджеров. То что сайт старый - уже лет 10 - так точно, не рекомендуют использовать ссылки на внешние источники.
Я понимаю вам пофлудить хочется. Но нам как-то нет. Мы просили совета, а получили упрёки в плохой организации. Решение найдено самостоятельно как и в 80 процентах обращений сюда.
Я вам дал дельный совет. если Вы им не воспользовались - это не мои проблемы
Если у Вас не хватает знаний -могли бы заплатить специалисту и не иметь головной боли.
Еще раз повторю - то что у Вас есть такие ссылки - ни кто кроме Вас не виноват и не обязан Вам бесплатно все делать. Вы можете воспользоваться бесплатными советами и сделать самостоятельно, либо заплатить специалисту и получить готовый результат, не вникая.
Вы ниже то прочтите - решение найдено. Или вас уже не остановить? ))
Ошибка в том, что вы не удаляете старые данные из базы.
Можно на первом шаге добавить DROP TABLE
Но, чтобы была возможность "вернуть как было", я бы рекомендовал создать новую, импортировать в неё, а потом подменить в конфиге на новую.
Пошагово:
1) Создаём базу admin_2
2) дамп старой admin_
3) замена
4) импорт файла в новую БД
5) в файле wa-config/db.php поменять значение database (и пользователя, если будете создавать нового).
Это не помогало. Мы так тоже делали, 8 баз создали ). Вот сверху точечное решение проблемы через правку контента. Но всё равно ВАМ спасибо!
Странно, т.к. ошибка
Буквально говорит о том, что при импорте возник дубль. В чистой базе не должно было бы быть такого.
Но точечное решение - тоже ок. Можно в phpMyAdmin ещё по всем таблицам поискать http: авось, где-то ещё осталось.
Нам помогло следующее:
1)
Блоги/новости
2)
Категории
3)
Страницы
4)
Товары