Mam bazę danych Wordpress, która została zainstalowana w środowisku programistycznym ... dlatego wszystkie odwołania do samej witryny mają stały adres IP (powiedzmy 192.168.16.2). Teraz muszę przenieść tę bazę danych do nowej instalacji Wordpress na hoście. Problem polega na tym, że zrzut SQL zawiera wiele odniesień do adresu IP i muszę go zastąpić: moja_domena.com.
Mógłbym użyć sed
lub innego polecenia, aby zmienić to z wiersza poleceń, problem polega na tym, że istnieje wiele danych konfiguracyjnych, które używają JSON. Więc co? Cóż, jak wiesz, tablice JSON używają takich rzeczy jak: s:4:
aby dowiedzieć się, ile znaków ma element, a zatem, jeśli po prostu zastąpię adres IP nazwą domeny, pliki konfiguracyjne zostaną uszkodzone.
Kilka lat temu korzystałem z aplikacji dla systemu Windows, która pozwala zmieniać wartości w bazie danych i zajmuje się tablicami JSON. Niestety zapomniałem nazwy aplikacji ... więc pytanie brzmi: czy znasz jakąś aplikację, która pozwala mi robić to, co chcę?
Odpowiedzi:
Dane, na które patrzysz, nie są sformatowane w JSON. JSON nie przechowuje (zwykle) takich typów wartości i długości. To, na co patrzysz, to dane SERIALIZOWANE. Wyszukiwanie w Google hasła „mysql replace serialized” daje tę stronę, która może pomóc: http://davidcoveney.com/mysql-database-search-replace-with-serialized-php/
źródło
Codex ma porządny przewodnik - Zmiana adresu URL witryny .
Zasadniczo istnieje kilka miejsc, w których adres URL ma znaczenie lub nie ma go tak bardzo (być może brakuje mi niektórych):
home
orazsiteurl
opcje kontrolujące, gdzie WP myśli, że witryna jest;źródło
mv olddir.com newdir.com
zmianie konfiguracji serwera uruchom go ponownie. Postępuj zgodnie z instrukcjami kodeksu tutaj, a następnie powinieneś być w stanie zalogować się jako administrator. To powinno wystartować :-)Jak powiedział Rarst powyżej, w bazie danych są tylko dwa ustawienia, które POTRZEBUJE zmienić. Po zaimportowaniu bazy danych loguję się do PHPMyAdmin i edytuję bazę danych bezpośrednio.
Korzystam z serwera programistycznego na komputerze przez cały czas, aby importować źródła danych, a one mają adres URL dołączony do postów zgodnie z http: // localhost / testsite / post-name / i to nigdy nie spowodowało problemu.
Kiedyś używałem wyszukiwania SQL i zamieniałem, dopóki nie zdałem sobie sprawy, że to nie ma znaczenia. Przeprowadziłem migrację kilku witryn z jednej domeny do drugiej i tam, gdzie w treści miałem bezwzględne adresy URL, skorzystam z opcji wyszukiwania i zamiany SQL.
David
źródło
Jest to niesamowity zasób, który dodałem do zakładek, że wracam do czasu i czasu http://www.onextrapixel.com/2010/01/30/13-useful-wordpress-sql-queries-you-wish-you-knew -wcześniej/
Stwierdzają
źródło
Możesz ustawić te wartości za pomocą stałych w
wp-config.php
. Następnie możesz, kiedy chcesz, zmieniać wpisy w bazie danych za pomocą wtyczki Adminer. Zapisz to w,wp-config.php
a wartości w DB nie są istotne:źródło
Zobacz moją odpowiedź na to pytanie:
Rozwiązuje problemy z czyszczeniem danych i można go dostosować do konkretnych potrzeb migracji danych, używając również haków.
Mam nadzieję, że to pomoże.
źródło
Proste zapytania SQL - nie wymaga skomplikowanych operacji WYMIANA:
Użyj tych z PHPMyAdmin lub w inny sposób, który wolisz uzyskać dostęp do bazy danych.
źródło
Upewnij się, że wybrano nową bazę danych, a następnie uruchom kilka aktualizacji SQL i poleceń zastępujących w tabelach, w szczególności wp_options, wp_posts, wp_postmeta.
Użyj kodu jak poniżej i zamień na stare i nowe adresy URL, bez końcowych ukośników. W razie potrzeby zmień także wartości prefiksu tabeli, jeśli ma to zastosowanie (np. Wp_)
źródło
To jest bardzo stare pytanie, ale ponieważ natknąłem się na nie, szukając czegoś innego, pomyślałem, że dodam to na przyszłość.
Myślę, że najprostszym i najbardziej kompletnym sposobem na to jest searchreplacedb2.php. Można go znaleźć tutaj: http://interconnectit.com/products/search-and-replace-for-wordpress-databases/ wraz z wyjaśnieniem jego zastosowania.
To zdecydowanie zaoszczędziło mi dużo czasu dzięki migracji z deweloperów do środowisk na żywo na moich stronach wordpress.
Upewnij się, że po zakończeniu usuniesz go z serwera publicznego!
źródło
Widzę, że chcesz przenieść swoją witrynę WordPress ze środowiska programistycznego na nowy serwer lub serwer produkcyjny.
Niedawno przeniosłem moją witrynę na serwer produkcyjny i mam taką samą sytuację. Muszę zaktualizować adres URL witryny, ponieważ WordPress zapisał adres URL witryny w bazie danych.
Znalazłem dobre zapytanie MySQL, dzięki któremu mogę łatwo zmienić adres URL bezpośrednio z bazy danych, jak.
Wystarczy zastąpić adres URL witryny ze starej nazwy domeny na nową domenę, a następnie wykonać zapytanie na MySQL przy użyciu PHPMYADMIN.
Więcej informacji można znaleźć w tym samouczku.
https://tryvary.com/wordpress-change-url-in-database-using-mysql-query/
źródło