वर्डप्रेस डेटाबेस में डोमेन नाम कैसे बदलें?


12

मेरे पास एक वर्डप्रेस डेटाबेस है जो एक विकास के वातावरण में स्थापित किया गया था ... इस प्रकार, साइट के सभी संदर्भों में एक निश्चित आईपी एड्रेस (192.168.16.2 कहते हैं) है। अब, मुझे उस डेटाबेस को एक होस्टिंग पर एक नए वर्डप्रेस इंस्टॉलेशन पर माइग्रेट करना होगा। समस्या यह है कि SQL डंप में IP पते के बहुत सारे संदर्भ होते हैं, और मुझे इसे इसके साथ बदलना होगा: my_domain.com।

मैं sedकमांड लाइन से इसे बदलने के लिए किसी अन्य कमांड का उपयोग कर सकता हूं , समस्या यह है कि बहुत सारे कॉन्फ़िगरेशन डेटा हैं जो JSON का उपयोग करते हैं। तो क्या? ठीक है, जैसा कि आप जानते हैं, JSON सरणियाँ चीजों का उपयोग करती हैं: s:4:यह जानने के लिए कि किसी तत्व में कितने वर्ण हैं, और इस प्रकार, यदि मैं सिर्फ आईपी को डोमेन नाम से बदल देता हूं, तो कॉन्फ़िगरेशन फ़ाइलें दूषित हो जाएंगी।

मैंने कुछ साल पहले विंडोज के लिए एक ऐप का इस्तेमाल किया था जो डेटाबेस में मूल्यों को बदलने की अनुमति देता है और JSON सरणियों का ध्यान रखता है। दुर्भाग्य से, मैं ऐप का नाम भूल गया ... तो सवाल यह है: क्या आप किसी भी ऐप को जानते हैं जो मुझे वह करने की अनुमति देता है जो मुझे चाहिए?


1
यह एक पूर्ण उत्तर नहीं है, लेकिन एक को खोजने में आपकी मदद कर सकता है: जो डेटा आप देख रहे हैं वह JSON स्वरूपित नहीं है। JSON (सामान्य रूप से) उस तरह के मूल्य प्रकार और लंबाई को संग्रहीत नहीं करता है। आप जो देख रहे हैं वह क्रमबद्ध डेटा है। "Mysql प्रतिस्थापित सीरियल" के लिए एक Google खोज इस पृष्ठ की पैदावार देती है, जो मदद कर सकती है: davidcoveney.com/…
MathSmath

अरे, आपकी टिप्पणी ही एकमात्र उत्तर है जो मेरे लिए उपयोगी था ... इसे सही के रूप में चिह्नित करने के लिए उत्तर पर ले जाएं। धन्यवाद!
क्रिश्चियन

खुशी है कि यह मदद की! मैंने इसे उत्तर के रूप में पोस्ट किया है।
मैथ्समैथ

जवाबों:


7

जो डेटा आप देख रहे हैं वह JSON स्वरूपित नहीं है। JSON (सामान्य रूप से) उस तरह के मूल्य प्रकार और लंबाई को संग्रहीत नहीं करता है। आप जो देख रहे हैं वह क्रमबद्ध डेटा है। इस पृष्ठ के लिए "mysql प्रतिस्थापित धारावाहिक" की एक Google खोज है, जो मदद कर सकती है: http://davidcoveney.com/mysql-database-search-replace-with-serialized-php/


धन्यवाद ... मैंने 2 साल के लिए PHP डेवलपर के रूप में काम किया। मुझे विश्वास नहीं हो रहा है कि मैं धारावाहिक और JSON स्ट्रिंग के बीच के अंतर को भूल गया।
क्रिस्टियन

8

कोडेक्स में सभ्य मार्गदर्शिका है - साइट URL बदलना

मूल रूप से कई स्थानों पर URL मामला है या इतना अधिक नहीं है (मुझे कुछ याद आ रहा है):

  • homeऔर siteurlविकल्प जो नियंत्रित करता है कि WP कहां है साइट;
  • GUIDs, ये लिंक की तरह दिखते हैं लेकिन वास्तव में ये केवल पहचानकर्ता नहीं हैं। मुझे पूरा यकीन नहीं है कि वे अप्रासंगिक हैं, लेकिन मेरे पास टेस्ट स्टैक पर यूआरएल में बहुत बदलाव थे और इन्हें अपडेट करने की जहमत नहीं उठाई गई।
  • पोस्ट निकायों में लिंक;
  • संभवतः प्लगइन सेटिंग्स में लिंक।

काफी कुछ कदम है। mv olddir.com newdir.comआपके द्वारा अपने वेबसर्वर को फिर से कॉन्फ़िगर करने की आवश्यकता के बाद , वेबसर्वर को पुनः आरंभ करें। यहां कोडेक्स निर्देशों का पालन करें और फिर आपको व्यवस्थापक के रूप में लॉगिन करने में सक्षम होना चाहिए। कि आप शुरू कर दिया जाना चाहिए :-)
PJ Brunet

6

जैसा कि Rarst ने कहा कि डेटाबेस में केवल दो सेटिंग्स हैं जिन्हें NEEDS बदल रहा है। डेटाबेस आयात करने के बाद मैं PHPMyAdmin में लॉग इन करता हूं और डेटाबेस को सीधा संपादित करता हूं।

मैं डेटाफ़ीड आयात करने के लिए अपने पीसी पर हर समय एक विकास सर्वर का उपयोग करता हूं और उनके पास http: // localhost / testite / post-name / की पंक्तियों के साथ डाक से जुड़ा URL है और यह कभी भी समस्या का कारण नहीं बना।

मैंने SQL खोज का उपयोग किया और तब तक प्रतिस्थापित किया जब तक मुझे एहसास नहीं हुआ कि यह कोई मायने नहीं रखता। मैंने कुछ साइट्स को एक डोमेन से दूसरे में माइग्रेट किया है और जहाँ मुझे उस कंटेंट में निरपेक्ष URL हैं जो मैं SQL सर्च और रिप्लेस विकल्प का उपयोग करूँगा।

update wp_posts set post_content = replace(post_content,'http://www.olddomain/','http://www.newdomain/');

डेविड


कुछ प्लगइन्स हैं, जैसे कि कॉन्टैक्टफॉर्म 7, जो अन्य कॉन्फ़िगरेशन वेरिएबल्स के साथ एक क्रमबद्ध स्ट्रिंग के अंदर डोमेन नाम को भी बचाता है। जब आप क्रमबद्ध स्ट्रिंग को संशोधित करते हैं तो यह दूषित हो सकती है यदि इसकी लंबाई बदलती है, तो वास्तव में, कभी-कभी, दो सेटिंग्स की तुलना में अधिक चीजें बदलनी होती हैं।
क्रिश्चियन

5

यह एक अद्भुत संसाधन है जिसे मैंने बुकमार्क किया है कि मैं समय और समय पर फिर से जाता हूं । http://www.onextrapixel.com/2010/01/30/13-useful-wordpress-sql-queries-you-wish-you-knew -earlier /

वे बताते हैं

UPDATE wp_options SET option_value = replace(option_value, 'http://www.oldsiteurl.com', 'http://www.newsiteurl.com') WHERE option_name = 'home' OR option_name = 'siteurl';

3

आप इन मूल्यों को स्थिरांक के साथ निर्धारित कर सकते हैं wp-config.php। इसके बाद आप जब चाहें, डेटाबेस में एंट्रीज को प्लगइन एडमिन के जरिए बदल सकते हैं। इसे लिखें wp-config.phpऔर DB में मान प्रासंगिक नहीं हैं:

define('WP_HOME', 'http://example.com/to-wordpress');
define('WP_SITEURL', 'http://example.com/to-blog');

2

इस सवाल का जवाब देखिए:

यह डेटा की सफाई के साथ आपके मुद्दों को संबोधित करता है और हुक का उपयोग करके विशिष्ट डेटा माइग्रेशन आवश्यकताओं के लिए अनुकूलित किया जा सकता है।

आशा है ये मदद करेगा।


2

सरल एसक्यूएल क्वेरी - आवश्यक जटिल सामान नहीं:

update wp_options set option_value = 'http://mynewdomain.com' where option_name = 'siteurl';

update wp_options set option_value = 'http://mynewdomain.com' where option_name = 'home';

PHPMyAdmin या किसी अन्य तरीके से उन लोगों का उपयोग करें जिन्हें आप डेटाबेस का उपयोग करना पसंद करते हैं।


2

सुनिश्चित करें कि आपके पास नया डेटाबेस चुना गया है, फिर टेबल पर कुछ sql अपडेट और रिप्लेसमेंट कमांड चलाएं, wp_options, wp_posts, wp_postmeta।

नीचे दिए गए कोड का उपयोग करें और अपने पुराने और नए URL में स्वैप करें, कोई अनुगामी स्लैश नहीं। यदि आवश्यक हो तो तालिका उपसर्ग मूल्यों को लागू करें जहां लागू हो (यानी wp_)

UPDATE wp_options SET option_value = replace(option_value, 'http_www.oldurl', 'http_www.newurl') WHERE option_name = 'home' OR option_name = 'siteurl';    
UPDATE wp_posts SET guid = replace(guid, 'http_www.oldurl','http_www.newurl');    
UPDATE wp_posts SET post_content = replace(post_content, 'http_www.oldurl', 'http_www.newurl');    
UPDATE wp_postmeta SET meta_value = replace(meta_value,'http_www.oldurl','http_www.newurl');

1

यह एक बहुत पुराना सवाल है, लेकिन जब से मैं कुछ और खोज रहा हूं, तो मुझे लगा कि मैं इसे भविष्य में संदर्भ के लिए जोड़ूंगा।

मुझे लगता है कि यह करने के लिए सबसे सरल, सबसे पूरा तरीका है searchreplacedb2.php का उपयोग करना। यह यहाँ पाया जा सकता है: http://interconnectit.com/products/search-and-replace-for-wordpress-dat डेटाबेस/ इसके उपयोग की व्याख्या के साथ।

यह निश्चित रूप से मेरे वर्डप्रेस साइटों पर देव से लाइव वातावरण में प्रवास करने के साथ मुझे बहुत समय बचाता है।

बस सुनिश्चित करें कि आपके द्वारा किए जाने के बाद आप इसे सार्वजनिक सर्वर से हटा दें!


0

मैं देख रहा हूं कि आप अपनी वर्डप्रेस साइट को विकास के माहौल से एक नए सर्वर या उत्पादन सर्वर पर ले जाना चाहते हैं।

हाल ही में, मैंने अपनी साइट को उत्पादन सर्वर में स्थानांतरित कर दिया है और मैं उसी स्थिति का सामना कर रहा हूं। मुझे साइट URL को अपडेट करने की आवश्यकता है क्योंकि वर्डप्रेस ने साइट URL को डेटाबेस में संग्रहीत किया है।

मुझे अच्छी MySQL क्वेरी मिली जिसका उपयोग करके मैं डेटाबेस से सीधे URL को आसानी से बदल सकता हूं।

SET @search := "http://olddomain.com";
SET @replace := "http://newdomain.com";

UPDATE `wp_options` SET `option_value` = REPLACE(option_value, @search, @replace) WHERE option_name = "siteurl";
UPDATE `wp_options` SET `option_value` = REPLACE(option_value, @search, @replace) WHERE option_name = "home";
UPDATE `wp_options` SET `option_value` = REPLACE(option_value, @search, @replace) WHERE option_name = "product_list_url";
UPDATE `wp_options` SET `option_value` = REPLACE(option_value, @search, @replace) WHERE option_name = "shopping_cart_url";
UPDATE `wp_options` SET `option_value` = REPLACE(option_value, @search, @replace) WHERE option_name = "checkout_url";
UPDATE `wp_options` SET `option_value` = REPLACE(option_value, @search, @replace) WHERE option_name = "widget_text";
UPDATE `wp_options` SET `option_value` = REPLACE(option_value, @search, @replace) WHERE option_name = "headerImageLogo";
UPDATE `wp_options` SET `option_value` = REPLACE(option_value, @search, @replace) WHERE option_name = "cunjo_plugin_url";
UPDATE `wp_options` SET `option_value` = REPLACE(option_value, @search, @replace) WHERE option_name = "wpsr_socialbt_data";
UPDATE `wp_options` SET `option_value` = REPLACE(option_value, @search, @replace) WHERE option_name = "issuem";
UPDATE `wp_options` SET `option_value` = REPLACE(option_value, @search, @replace) WHERE option_name = "_transient_dgxdonate_t70pbg1htu_1396322372";
UPDATE `wp_options` SET `option_value` = REPLACE(option_value, @search, @replace) WHERE option_name = "dgx_donate_log";
UPDATE `wp_options` SET `option_value` = REPLACE(option_value, @search, @replace) WHERE option_name = "headerBackgroundImage";
UPDATE `wp_options` SET `option_value` = REPLACE(option_value, @search, @replace) WHERE option_name = "transact_url";
UPDATE `wp_postmeta` SET `meta_value`=REPLACE(meta_value, @search, @replace);
UPDATE `wp_usermeta` SET `meta_value`=REPLACE(meta_value, @search, @replace);
UPDATE `wp_posts` SET `guid`=REPLACE(guid, @search, @replace);
UPDATE `wp_posts` SET `post_content`=REPLACE(post_content, @search, @replace);

आपको केवल अपने साइट URL को पुराने डोमेन नाम से नए डोमेन में बदलने की आवश्यकता है और फिर PHPMYADMIN का उपयोग करके MySQL पर क्वेरी निष्पादित करें।

अधिक संदर्भ के लिए, आप इस ट्यूटोरियल को पढ़ सकते हैं ।

https://tryvary.com/wordpress-change-url-in-database-using-mysql-query/

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.