কিভাবে ওয়ার্ডপ্রেস ডাটাবেসে ডোমেন নামটি প্রতিস্থাপন করবেন?


12

আমার কাছে একটি ওয়ার্ডপ্রেস ডাটাবেস রয়েছে যা একটি বিকাশের পরিবেশে ইনস্টল করা হয়েছিল ... সুতরাং, সাইটের সমস্ত রেফারেন্সের একটি নির্দিষ্ট আইপি ঠিকানা রয়েছে (192.168.16.2 বলুন)। এখন, আমাকে সেই ডাটাবেসটি একটি হোস্টিংয়ের নতুন ওয়ার্ডপ্রেস ইনস্টলেশনতে স্থানান্তর করতে হবে। সমস্যাটি হ'ল এসকিউএল ডাম্পে আইপি ঠিকানার সাথে প্রচুর উল্লেখ রয়েছে এবং আমার এটি my_domain.com দিয়ে প্রতিস্থাপন করতে হবে।

sedকমান্ড লাইন থেকে এটি পরিবর্তন করতে আমি বা অন্য কোনও কমান্ড ব্যবহার করতে পারি , সমস্যাটি হ'ল JSON ব্যবহার করে এমন অনেকগুলি কনফিগারেশন ডেটা রয়েছে। তাতে কি? ঠিক আছে, যেমন আপনি জানেন, জেএসএন অ্যারেগুলি এমন জিনিসগুলি ব্যবহার করে: s:4:কোনও উপাদানটির কতগুলি অক্ষর রয়েছে তা জানতে এবং এইভাবে, আমি যদি কেবলমাত্র আইপিটিকে ডোমেন নামের সাথে প্রতিস্থাপন করি তবে কনফিগারেশন ফাইলগুলি নষ্ট হয়ে যাবে।

আমি কিছু বছর আগে উইন্ডোজের জন্য একটি অ্যাপ্লিকেশন ব্যবহার করেছি যা একটি ডাটাবেসে মান পরিবর্তন করতে দেয় এবং জেএসএন অ্যারেগুলির যত্ন নেয়। দুর্ভাগ্যক্রমে, আমি অ্যাপটির নাম ভুলে গেছি ... সুতরাং প্রশ্নটি: আপনি কি এমন কোনও অ্যাপ্লিকেশন জানেন যা আমাকে যা করতে চায় তা করতে দেয়?


1
এটি সম্পূর্ণ উত্তর নয়, তবে এটির অনুসন্ধানে আপনাকে সাহায্য করতে পারে: আপনি যে ডেটাটি দেখছেন সেটি JSON ফর্ম্যাট নয়। জেএসওন (সাধারণত) মান ধরণের ধরণ এবং দৈর্ঘ্যের মতো সঞ্চয় করে না। আপনি যা দেখছেন তা হ'ল সিরিয়ালযুক্ত ডেটা। " মাইএসকিএল রিপ্লেসমেন্ট
ম্যাথসম্যাথ

আরে, আপনার মন্তব্যটি আমার পক্ষে একমাত্র উত্তর যা কার্যকর ছিল ... এটিকে সঠিক হিসাবে চিহ্নিত করতে একটি উত্তরে সরিয়ে ফেলুন। ধন্যবাদ!
ক্রিশ্চিয়ান

খুশি এটা সাহায্য! আমি উত্তর হিসাবে পোস্ট করেছি।
ম্যাথসম্যাট

উত্তর:


7

আপনি যে ডেটাটি দেখছেন তা JSON ফর্ম্যাটেড নয়। জেএসওন (সাধারণত) মান ধরণের ধরণ এবং দৈর্ঘ্যের মতো সঞ্চয় করে না। আপনি যা দেখছেন তা হ'ল সিরিয়ালযুক্ত ডেটা। "মাইএসকিএল রিপ্লেসমেন্ট সিরিয়ালাইজড" এর জন্য একটি গুগল অনুসন্ধান এই পৃষ্ঠাটি দেয়, যা সহায়তা করতে পারে: http://davidcoveney.com/mysql-database-search-replace-with-serialized-php/


আপনাকে ধন্যবাদ ... আমি পিএইচপি বিকাশকারী হিসাবে 2 বছর ধরে কাজ করেছি। আমি বিশ্বাস করতে পারি না যে সিরিয়ালযুক্ত কিছু এবং একটি জেএসএন স্ট্রিংয়ের মধ্যে পার্থক্যটি আমি ভুলে গিয়েছি।
ক্রিশ্চিয়ান

8

কোডেক্সের শালীন গাইড রয়েছে - সাইটের URL পরিবর্তন করা

মূলত সেখানে বেশ কয়েকটি জায়গা রয়েছে যেখানে ইউআরএল বিষয় রয়েছে বা এতো বেশি নয় (আমি কিছুটা মিস করতে পারি):

  • homeএবং siteurlWP সাইটটি যেখানে মনে করে সেখানে নিয়ন্ত্রণ করে এমন বিকল্পগুলি;
  • জিইউইডিগুলি পোস্ট করুন, এগুলি লিঙ্কগুলির মতো দেখাচ্ছে তবে সত্যই তারা তা নয় - কেবল সনাক্তকারী। এগুলি অপ্রাসঙ্গিক বলে আমি নিশ্চিত নই, তবে আমার পরীক্ষাগুলিতে ইউআরএলগুলি অনেকগুলি পরিবর্তন ছিল এবং এগুলি আপডেট করার জন্য কখনও বিরক্ত করিনি।
  • পোস্ট বডিগুলিতে লিঙ্কগুলি;
  • সম্ভবত প্লাগইন সেটিংসে লিঙ্ক।

বেশ কয়েকটি পদক্ষেপ রয়েছে। mv olddir.com newdir.comআপনার নিজের ওয়েব সার্ভারটি পুনরায় কনফিগার করার পরে , ওয়েব সার্ভারটি পুনরায় চালু করতে হবে। কোডেক্স নির্দেশাবলী এখানে অনুসরণ করুন এবং তারপরে আপনার প্রশাসক হিসাবে লগইন করতে সক্ষম হওয়া উচিত। এটি আপনাকে শুরু করা উচিত :-)
পিজে ব্রুনেট

6

যেমন রার্স্ট উপরে বলেছে যে ডাটাবেসে কেবল দুটি সেটিংস রয়েছে যা পরিবর্তনের প্রয়োজন। ডাটাবেস আমদানির পরে আমি পিএইচপিএমইএডমিনে লগইন করি এবং সরাসরি ডাটাবেস সম্পাদনা করি।

ডেটাফিড আমদানি করার জন্য আমি আমার পিসিতে সর্বদা ডেভলপমেন্ট সার্ভার ব্যবহার করি এবং তাদের পোস্টের সাথে http: // লোকালহস্ট / টেস্টসাইট / পোস্ট-নাম / লাইন বরাবর সংযুক্ত থাকে এবং এটি কখনও কোনও সমস্যা তৈরি করে না।

আমি কোনও এসকিউএল অনুসন্ধান ব্যবহার করেছি এবং যতক্ষণ না বুঝেছি এটির কোনও গুরুত্ব নেই। আমি একটি ডোমেন থেকে অন্য ডোমেইনে কয়েকটি সাইট স্থানান্তর করেছি এবং যেখানে আমার সামগ্রীতে সম্পূর্ণ ইউআরএল ছিল আমি এসকিউএল অনুসন্ধান ব্যবহার করব এবং বিকল্পটি প্রতিস্থাপন করব।

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

ডেভিড


কিছু প্লাগইন রয়েছে, যেমন কন্টাক্টফর্ম 7, যা অন্যান্য কনফিগারেশন ভেরিয়েবলগুলির মধ্যে ডোমেন নামটি সিরিয়ালযুক্ত স্ট্রিংয়ের ভিতরেও সংরক্ষণ করে। আপনি যখন সিরিয়ালযুক্ত স্ট্রিংটি সংশোধন করেন এটির দৈর্ঘ্য পরিবর্তিত হলে এটি দুর্নীতিগ্রস্থ হতে পারে, সুতরাং প্রকৃতপক্ষে, কখনও কখনও কেবল দুটি সেটিংসের চেয়ে আরও বেশি কিছু পরিবর্তন করতে হয়।
ক্রিশ্চিয়ান

5

এটি একটি আশ্চর্যজনক সংস্থান যা আমি বুকমার্ক করে রেখেছি যে আমি আবার সময় এবং সময়ে আবার ফিরে যাই http:// -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এবং ডিবিতে মানগুলি প্রাসঙ্গিক নয়:

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

2

এই প্রশ্নের আমার উত্তর একবার দেখুন:

এটি ডেটা পরিষ্কার করার সাথে আপনার সমস্যাগুলিকে সম্বোধন করে এবং হুকগুলি ব্যবহার করেও নির্দিষ্ট ডেটা মাইগ্রেশন প্রয়োজনের জন্য কাস্টমাইজ করা যায়।

আশা করি এটা সাহায্য করবে.


2

সাধারণ এসকিউএল ক্যোয়ারী - কোনও জটিল REPLACE স্টাফের প্রয়োজন নেই:

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';

পিএইচপিএমআইএইডমিনযুক্ত বা অন্য কোনও উপায়ে আপনি ডাটাবেস অ্যাক্সেস করতে পছন্দ করুন Use


2

আপনার কাছে নতুন ডাটাবেসটি নির্বাচিত রয়েছে তা নিশ্চিত করুন, তারপরে টেবিলগুলিতে উল্লেখযোগ্যভাবে, wp_options, wp_posts, wp_postmeta- এর জন্য কিছু এসকিএল আপডেট এবং প্রতিস্থাপন কমান্ডগুলি চালান।

নীচের মত কোডটি ব্যবহার করুন এবং আপনার পুরানো এবং নতুন ইউআরএলগুলিতে অদলবদল করুন, কোনও পিছনে স্ল্যাশ নেই। এছাড়াও প্রযোজ্য ক্ষেত্রে টেবিলের উপসর্গের মানগুলি পরিবর্তন করতে হবে (যেমন ডাব্লুপিপি)

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

এটি একটি খুব পুরানো প্রশ্ন, তবে যেহেতু আমি অন্য কিছু খুঁজতে গিয়ে এটিটি পেরিয়ে এসেছি, তাই ভেবেছিলাম ভবিষ্যতের রেফারেন্সের জন্য আমি এটি যুক্ত করব।

আমি মনে করি এটি করার সহজতম এবং সর্বাধিক সম্পূর্ণ উপায় হ'ল সন্ধানরেপ্লেডবি 2.এফপি ব্যবহার করা। এটি এখানে পাওয়া যাবে: এর ব্যবহারের ব্যাখ্যার সাথে http://interconnectit.com/products/search-and-replace-for-wordpress-databases/

এটি আমার ওয়ার্ডপ্রেস সাইটগুলিতে ডেভ থেকে লাইভ পরিবেশে স্থানান্তরিত হওয়ার সাথে সাথে অবশ্যই আমার অনেক সময় সাশ্রয় করেছে।

আপনার কাজ শেষ হওয়ার পরে আপনি এটি সর্বজনীন সার্ভার থেকে মুছে ফেলার বিষয়টি নিশ্চিত করুন!


0

আমি দেখতে পাচ্ছি আপনি আপনার ওয়ার্ডপ্রেস সাইটটিকে বিকাশের পরিবেশ থেকে নতুন সার্ভার বা প্রোডাকশন সার্ভারে নিয়ে যেতে চান।

সম্প্রতি, আমি আমার সাইটটি প্রোডাকশন সার্ভারে স্থানান্তরিত করেছি এবং আমি একই পরিস্থিতির মুখোমুখি হয়েছি। আমার সাইটের ইউআরএল আপডেট করতে হবে কারণ ওয়ার্ডপ্রেস সাইটের ইউআরএল ডেটাবেসে সংরক্ষণ করে।

আমি খুব ভাল মাইএসকিউএল কোয়েরি পেয়েছি যা ব্যবহার করে আমি সহজেই সরাসরি ডাটাবেস থেকে ইউআরএল পরিবর্তন করতে পারি।

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);

আপনাকে কেবল পুরানো ডোমেন নাম থেকে নতুন ডোমেনে আপনার সাইটের ইউআরএল প্রতিস্থাপন করতে হবে এবং তারপরে পিএইচপিএমওয়াইডমিন ব্যবহার করে মাইএসকিউএলে কোয়েরি চালাবেন।

আরও রেফারেন্সের জন্য, আপনি এই টিউটোরিয়ালটি পড়তে পারেন ।

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

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.