4.2 utf8mb4 ডাটাবেস আপগ্রেড পুনরায় চালু করুন


14

পুরানো সার্ভারে থাকাকালীন আমি ডাব্লুপিটিকে 4.2 এ আপডেট করেছি, যা utf8mb4 আপগ্রেডের প্রয়োজনীয়তার সাথে মেলে না ।

আমি অন্য সার্ভারে চলে এসেছি যা এই প্রয়োজনীয়তাগুলির সাথে খাপ খায়, তবে ডাব্লুপি এই ডেটাবেস আপগ্রেড আর আরম্ভ করবে না: /wp-admin/upgrade.php বলে Your WordPress database is already up-to-date। আমি আমার wp_postটেবিলটি নিজেই utf8mb4 এ সেট করার চেষ্টা করেছি তবে আমার সমস্ত বিশেষ অক্ষর " " হয়ে গেছে।

maybe_convert_table_to_utf8mb4আমার সমস্ত বিশেষ অক্ষর না হারিয়ে কোনও সাধারণ আপগ্রেডে প্রবর্তনের জন্য কোনও উপায় ?

ধন্যবাদ!

উত্তর:


5

আমি মনে করি আপনার প্রশ্নের উত্তর এখনই "না"।

maybe_convert_table_to_utf8mb4এই পোস্টে বর্ণিত প্রয়োজনীয়তা পূরণ না করে এমন একটি সার্ভারে সাইটগুলি আগেই ডাব্লুপি 4.3 এর বাইরে আপগ্রেড হওয়ার পরে কোনও সহজ উপায় নেই :

https://make.wordpress.org/core/2015/04/02/the-utf8mb4-upgrade/

নোট করুন, ডাব্লুপি উত্স কোডটি দেখার ভিত্তিতে, মনে হচ্ছে তারা এটিকে 4.2 এর আপডেট ক্রম থেকে 4.3 এ নিয়ে গেছে (এটি এখন আর 4.2 তে উপস্থিত নেই, যার এখন কোনও উন্নতি নেই) সম্ভবত বোর্ডে আরও ব্যবহারকারী পাওয়ার আশা করছেন।

সুতরাং এটি আপনার উত্তর এবং এটি সফল হয় তবে অন্যদের চেয়ে সঠিক accurate_ (ツ) _ / _ ¯

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

আমাদের বেসিক পরিকল্পনাটি হ'ল আসল ডিবি অংশটি এক্সট্রাক্ট করা upgrade_430(), এটি ডিবি আপডেট সিস্টেম থেকে আলাদা করা এবং ম্যানুয়ালি এটি ট্রিগার করা।

সম্পাদনা করুন: সমাধানের নীচে

স্ক্রিপ্টটি ট্রিগার করার সহজ কোনও উপায় নেই, এখানে একটি হ্যান্ড-কোডেড ওয়ার্কারআউন্ড রয়েছে, যার ভিত্তিতে upgrade_430()কিন্তু ড্রপ-ইন হিসাবে নকশা করা হয়েছে।

https://gist.github.com/carlalexander/4106cfaaf405cec454ba195631bcb6bc

আপনি এটি একটি প্লাগইনে রাখতে পারেন, বা কেবল এটি আপনার ফাংশন.পিপিতে পেস্ট করতে পারেন। যে কোনও উপায়ে এটি সাময়িক হওয়া উচিত।

আপনি যখন যান তখন এটি স্বয়ংক্রিয়ভাবে ট্রিগার করার জন্য সেট আপ করা হয় https://yoursite.com/?update-utf8bm4=1

এটি নিশ্চিত করে যে এটি কেবলমাত্র একবারে চলবে এবং আপনি কখন চয়ন করতে পারেন (বড় ডেটাবেসের জন্য এটি কিছুটা সময় নিতে পারে এবং এটি ঘটছে এমন সময় আপনি যে কেউ কোনও পোস্ট সম্পাদনা করতে চান না)।

আপনি যদি জিইটি ট্রিগারটি না চান তবে কেবল add_actionঅংশ এবং অংশটি সরিয়ে ফেলুন if (!isset($_GET['update-utf8bm4']))

আবার: সম্পূর্ণ হলে এইটি সরিয়ে ফেলুন, আপনি এই শুয়ে থাকা মতো কোনও জিইটি ট্রিগার ছেড়ে যেতে চান না :)


2

অবশ্যই যদি বলা না যায় তবে কিছু চেষ্টা করার আগে ডাটাবেসটির একটি ব্যাকআপ তৈরি করুন, তবে আপনি ডাটাবেসের মূল সংস্করণ নিয়ে কাজ করবেন d আমি দুটি জিনিস চেষ্টা করব: ওয়ার্ডপ্রেস ডাটাবেস মেরামত ও রক্ষণাবেক্ষণ, এবং পিএইচপিএমআইএডমিনের টেবিলগুলি:

এটি এই পৃষ্ঠা থেকে এসেছে, যার অনেকগুলি ডাব্লুপি নলেজবেস রয়েছে তবে আপনি এই সাইটের লাইনটি আপনার সাইটের ডাব্লুপি -কনফিগারেশন.এফপি যোগ করে শুরু করবেন:

define('WP_ALLOW_REPAIR', true);

তারপরে http://yoursite.com/wp-admin/maint/repair.php এ যান

আপনার দুটি অপশন সহ একটি পৃষ্ঠা দেখা উচিত: 'মেরামত ডেটাবেস' এবং 'ডেটাবেস মেরামত ও অনুকূলিতকরণ' '

ক্লিকন 'মেরামত ও অপ্টিমাইজ করা ডেটাবেস' এবং স্ক্রিপ্টটি চালানোর জন্য সময় দেয়। এগুলি সফলভাবে চালানোর পরে, আপনি বিভিন্ন সারণির স্থিতি জানাতে আপডেট বার্তা পাবেন।

এটি চালানোর সাথে সাথে, খুব গুরুত্বপূর্ণ , আপনি যে ডাব্লুপি-কনফিগ.পিএফ-এ যুক্ত করেছেন সেই ডাব্লুপিএল_লাইন_রেপায়ার লাইনটি সরিয়ে ফেলুন, ডাব্লুপি-কনফিগারেশন.এফপি ফাইল থেকে মুছুন।

যদি এটি কাজ না করে, আপনি পিএইচপিএমআইএডমিনের টেবিল অপ্টিমাইজেশান চেষ্টা করতে পারেন, তবে ওয়ার্ডপ্রেস যদি সহায়তা না করে থাকে তবে তাও না পারে। আপনি এটি সর্বশেষ সংস্কার চালিয়েছিলেন এমন ডাটাবেসটির একই সংস্করণে চেষ্টা করে দেখতে চাই।

পিএইচপিএমআইএডমিনে যান, আপনার ডাটাবেসটি নির্বাচন করুন, পৃষ্ঠার নীচে স্ক্রোল করুন, ডাটাবেসের সমস্ত টেবিল নির্বাচন করতে 'সমস্ত পরীক্ষা করুন' চেক করুন, তারপরের পাশের নির্বাচনী মেনু থেকে "টেবিলটি অপ্টিমাইজ করুন" নির্বাচন করুন। এটাই, এটি স্বয়ংক্রিয়ভাবে শুরু হবে।

এখানে আরও বিশদ এবং স্ক্রিনশট: ডাব্লুপিএমউডিভ

যদি এই দুটি পদক্ষেপ একা বা একসাথে কাজ না করে - আপনি বিপরীত ক্রমে চালানোর জন্য আপনার ব্যাকআপ ডেটাবেসের একটি অনুলিপি ব্যবহার করার চেষ্টা করতে পারেন ... শুভকামনা!


1
'ডেটাবেস মেরামত ও অপ্টিমাইজ করে Does' পুনরায় লঞ্চ maybe_convert_table_to_utf8mb4(কোনও ডাব্লুপি আপডেটের মতো)? আপনি উত্তরে তা উল্লেখ করেননি;)
জোয়ান

হাই জোয়ান, তদারকির জন্য দুঃখিত… আমি নোটগুলিতে এর কোনও নির্দিষ্ট উল্লেখ দেখিনি, না, তবে অনুমান করব যে এটি যদি এমনটি হতে পারে, যতক্ষণ আপনি ওয়ার্ডপ্রেস ৪.২+ এ অপ্টিমাইজেশন চালাচ্ছিলেন। মূল নোটগুলি থেকে: [ make.wordpress.org/core/tag/wpdb/]
ভ্যানেসা কিং

সমস্ত ইউটিএফ 8 সারণী ছিল এবং মেরামতের এবং অপ্টিমাইজেশন চালিয়েছে। তাদের utf8mb4 তে রূপান্তর করেন নি। এছাড়াও টেবিলগুলি যেগুলি মাইআইসাম নয় কিন্তু ইনোডিবি এবং ইতিমধ্যে utf8mb4 ছিল তা মেরামত বা অপ্টিমাইজ করা হয়নি।
rhand

হ্যাঁ এটি প্রশ্নের উত্তর নয় দুঃখিত।
জার্কার্ক

0

আপনি কি ডাটাবেস টেবিল কলেশন পরিবর্তন করার চেষ্টা করেছেন? দয়া করে এটি চেষ্টা করুন:

পিএইচপিএমইডমিনে লগইন করুন> আপনার ডাটাবেস নির্বাচন করুন> অপারেশনস> এখন ড্রপ-ডাউন থেকে কোলিশনটিকে "utf8mb4_unicode_ci" এ পরিবর্তন করুন বা আপনার পুরানো সার্ভারে যা ব্যবহৃত হয়েছিল তা পরিবর্তন করুন।

আমি আশা করি এটি আপনার পক্ষে কাজ করবে।

স্ক্রিনশট দেখুন: http://prnscr.com/8ip1ro/direct

মনে রাখবেন: আপনি যদি নিজের পুরানো সার্ভার থেকে আপনার পিসিতে এসকিএল ফাইলটি রফতানি করেন এবং কোনও পাঠ্য সম্পাদক দিয়ে এটি খোলেন ... এবং কাস্টমাইজ করুন এবং সংরক্ষণ করুন .. তবে দয়া করে আপনি যখন স্কুএল ফাইলটি সংরক্ষণ করেন তবে টেক্সট এডিটর "এনকোডিং "টি ইউটিএফ -৮ .. আমার স্ক্রিনশটটি দেখুন: http://prnscr.com/8ip2nr/direct

ধন্যবাদ


এটিই আমি চেষ্টা করেছি (খুব) যেন আমি ফাংশনটি চালু করছি, একই ফলাফল ( সর্বত্র)। সহজেই ডাব্লুপি ফাংশন পুনরায় চালু করার উপায় খুঁজছেন ...
জোয়ান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.