/ Var / lib / mysql / ডাটাবেস ফোল্ডার থেকে কোনও mysql ডাটাবেস পুনরুদ্ধার করা সম্ভব?


9

কোনও দুঃস্বপ্নের কারণে যে কোনওভাবে বাস্তব হয়ে উঠেছে, আমার মাইএসকিএল ইনস্টলেশনটি পুনরায় ইনস্টল করা শেষ হয়েছিল। পুনরায় ইনস্টল করার আগে আমি মাইএসকিএল শুরু করতে পারিনি, তাই আমি সঠিক ব্যাকআপ নিতে মাইএসকিএলডাম্প ব্যবহার করতে পারি না। তবে আমি কোনও সুরক্ষিত জায়গায় / var / lib / mysql অনুলিপি করেছি। ডাটাবেস ফোল্ডারগুলিকে তাদের পুরানো স্থানে ফিরিয়ে আনার চেষ্টা করা কাজ করে না - ভাল এটি সাজানোর মতো কাজ, তবে তারপরে অনুমতিগুলি সংশোধন করেও ওয়ার্ডপ্রেসের একটি মেল্টডাউন রয়েছে। আমি যদি সেই ডেটাবেসটি ম্যানুয়ালি তৈরি করি এবং তারপর এটি সিএসএন করি তবে মাইএসকিএল শুরু হবে না।

এই ফোল্ডারটি কি কোনওভাবে পুনরুদ্ধার করা সম্ভব?

সম্পাদনা করুন: আমার এখন এটি রয়েছে যাতে আমি মাইএসকিএল প্রম্পটে থাকাকালীন ফোল্ডারটি দেখতে পারি। আমি সেই ডাটাবেসটি ব্যবহার করতে পারি, তবে wp_posts থেকে * নির্বাচন করুন; আমাকে দেয়

 mysql> SELECT * FROM wp_posts;
 ERROR 1146 (42S02): Table 'alfheimwp.wp_posts' doesn't exist

যে সত্ত্বেও

mysql> SHOW TABLES;
+-------------------------------------------------+
| Tables_in_alfheimwp                             |
+-------------------------------------------------+
| wp_bp_activity                                  |
| wp_bp_activity_meta                             |
| wp_bp_friends                                   |
| wp_bp_groups                                    |
| wp_bp_groups_groupmeta                          |
| wp_bp_groups_members                            |
| wp_bp_messages_messages                         |
| wp_bp_messages_meta                             |
| wp_bp_messages_notices                          |
| wp_bp_messages_recipients                       |
| wp_bp_notifications                             |
| wp_bp_notifications_meta                        |
| wp_bp_user_blogs                                |
| wp_bp_user_blogs_blogmeta                       |
| wp_bp_xprofile_data                             |
| wp_bp_xprofile_fields                           |
| wp_bp_xprofile_groups                           |
| wp_bp_xprofile_meta                             |
| wp_commentmeta                                  |
| wp_comments                                     |
| wp_links                                        |
| wp_options                                      |
| wp_postmeta                                     |
| wp_posts                                        |
| wp_sg_action                                    |
| wp_sg_config                                    |
| wp_sg_schedule                                  |
| wp_signups                                      |
| wp_term_relationships                           |
| wp_term_taxonomy                                |
| wp_termmeta                                     |
| wp_terms                                        |
| wp_ucare_logs                                   |
| wp_usermeta                                     |
| wp_users                                        |
| wp_woocommerce_api_keys                         |
| wp_woocommerce_attribute_taxonomies             |
| wp_woocommerce_downloadable_product_permissions |
| wp_woocommerce_log                              |
| wp_woocommerce_order_itemmeta                   |
| wp_woocommerce_order_items                      |
| wp_woocommerce_payment_tokenmeta                |
| wp_woocommerce_payment_tokens                   |
| wp_woocommerce_sessions                         |
| wp_woocommerce_shipping_zone_locations          |
| wp_woocommerce_shipping_zone_methods            |
| wp_woocommerce_shipping_zones                   |
| wp_woocommerce_tax_rate_locations               |
| wp_woocommerce_tax_rates                        |
| wp_wpsp_agent_settings                          |
| wp_wpsp_attachments                             |
| wp_wpsp_canned_reply                            |
| wp_wpsp_catagories                              |
| wp_wpsp_custom_fields                           |
| wp_wpsp_custom_priority                         |
| wp_wpsp_custom_status                           |
| wp_wpsp_faq                                     |
| wp_wpsp_faq_catagories                          |
| wp_wpsp_panel_custom_menu                       |
| wp_wpsp_ticket                                  |
| wp_wpsp_ticket_thread                           |
+-------------------------------------------------+
61 rows in set (0.00 sec)

সুতরাং এই ডাটাবেস সম্পর্কে স্পষ্টতই কিছু আছে যা মাইএসকিএল অনুপস্থিত, তবে এটি মাইএসকিএলের ঠিক একই সংস্করণ যা আমি আগে ব্যবহার করছিলাম।

সম্পাদনা 2: অবশেষে কোথাও পৌঁছতে শুরু করে, তবে আমি খরগোশের গর্তের নিচে গভীর এবং আমার এখানে একটি ইনসোডাব সহায়িকা প্রয়োজন ... এখন মাইএসকিএল এটি শুরু করতে ব্যর্থ হয়েছে:

2017-10-13T01:55:16.625761Z 0 [ERROR] [FATAL] InnoDB: Tablespace id is 1121 in the data dictionary but in file ./mysql/help_relation.ibd it is 6!

আমি টেবিলগুলি থেকে পড়তে না পারার কারণ হ'ল আমি মাইন / ভেরি / লিবিব / মাইএসকিএল ফোল্ডারে ইনানোডব ফাইলগুলি পুনরুদ্ধার করি নি। যদিও এখন আমার কাছে রয়েছে, এই টেবিলস্পেস আইডগুলি লাইন করছে না। এগুলি কীভাবে সম্পাদনা করা যায় বা এটিকে সমাধান করার এমনকি যদি উপায় হয় তবে আমার কোনও ধারণা নেই। আমি যদি এগুলি সংশোধন করার জন্য একটি স্বয়ংক্রিয় উপায় ছিল!

উত্তর:


6

ঠিক আছে, এখানে যায়। সুতরাং, আপনাকে মাইএসকিএল এর সম্পূর্ণ পরিস্কার করা প্রয়োজন। এই মুহুর্তে মারিয়াডবিতে স্যুইচ করার চেষ্টা করেও বিরক্ত করবেন না, এটি কেবল কাজ করবে না (মাইএসকিএল সম্পর্কিত প্রতিটি ফাইল মুছে ফেলা সত্ত্বেও রুট পাসওয়ার্ড পরিবর্তন করতে অক্ষম)।

[সম্পাদনা: আমি পরে বুঝতে পারি এটি কারণ আমি মারিয়্যাডবকে মূল হিসাবে চালাচ্ছিলাম না। কোনও কারণে, যদি আপনি মারিয়্যাডবি ইনস্টল করেন তবে আপনাকে অবশ্যই একটি প্রম্পট শুরু করতে হবে sudo mysql -u root -p। সুতরাং তত্ত্বের ক্ষেত্রে মারিয়াডাবেরও এই প্রক্রিয়াটির জন্য কাজ করা উচিত]]

আপনাকে মাইএসকিএল-সার্ভারের একটি নতুন ইনস্টল করতে হবে। মাইএসকিএল-সম্পর্কিত সমস্ত কিছু সরিয়ে দিয়ে শুরু করুন

sudo apt-get purge mysql-server* mariadb*

তারপরে সমস্ত মাইএসকিএল-সম্পর্কিত ফোল্ডারগুলি সরান (নিশ্চিত করুন যে আপনার কাছে ইতিমধ্যে পুরো / var / lib / mysql ফোল্ডারগুলির একটি নিরাপদ ব্যাকআপ রয়েছে)।

sudo rm -rf /var/lib/mysql
sudo rm -rf /etc/mysql
sudo rm -rf /var/log/mysql

তারপরে মাইএসকিএল-সার্ভারটি পুনরায় ইনস্টল করুন। এটি নির্বিকার নির্ভরতা ত্রুটি যদি ব্যর্থ হয়, তবে

ln -s /etc/mysql/mysql.conf.d /etc/mysql/conf.d

(বা অন্য পথে, এখন মনে করতে পারে না) তারপরে চালান

sudo apt-get install mysql-server 

আবার এবং সেট আপ শেষ। এর সাথে মাইএসকিএল সার্ভারটি বন্ধ করুন

sudo systemctl stop mysql

তারপরে JUST ডাটাবেস ফোল্ডারগুলি (এবং তাদের সমস্ত সামগ্রী) / var / lib / mysql এ ফিরে অনুলিপি করুন। তারপরে আইবি * কে / ভার / লিব / মাইএসকিএলও অনুলিপি করুন (এগুলি ইনডোডব অভিধান এবং অন্যান্য ফাইলগুলি)।

sudo rsync -r <backedupfolder>/ib* /var/lib/mysql/

নিশ্চিত করুন

sudo chown -R mysql:mysql /var/lib/mysql 

/Etc/mysql/my.cnf যোগ সম্পাদনা innodb_force_recovery=5করার [mysqld]ধারা (আপনাকে [mysqld] জুড়তে প্রয়োজন হতে পারে)। এখন আবার সঙ্গে mysql শুরু করুন systemctl start mysql। যদি আপনি তাকান তবে /var/log/mysql/error.logআপনি এখনও ত্রুটি দেখতে পাচ্ছেন তবে প্রম্পটে প্রবেশ করার চেষ্টা করুন

mysql -u root -p

আপনি যদি এটি শুরু করতে সক্ষম হন তবে দুর্দান্ত। যদি তা না হয় তবে systemctl স্থিতি mysql.service এ আরও একবার দেখুন এবং এটি কী বলে তা দেখুন। এটি একটি অনুমতি ইস্যু হতে পারে। আপনি যদি অবশেষে কোনও প্রম্পটে প্রবেশ করতে সক্ষম হন তবে তাৎক্ষণিকভাবে করুন

mysqldump -u root -p <databasename> > database.sql 

যাতে আমরা সেই ডাটাবেসের একটি পরিষ্কার ডাম্প পেতে পারি। এখন যেহেতু আমাদের কাছে গুরুত্বপূর্ণ ডেটাবেসগুলির একটি পরিষ্কার ডাম্প রয়েছে, আমাদের প্রথম কয়েকটি পদক্ষেপ পুরোপুরি আবার করা দরকার (কমপক্ষে আমি করেছি, নিশ্চিত হওয়ার জন্য ... আমি এই মুহুর্তে ওয়ার্ডপ্রেস শুরু করতে সক্ষম হয়েছি তবে আমি লগ করতে পারি নি) ভিতরে). সুতরাং প্রথম কয়েকটি পরিস্কারের পদক্ষেপগুলি আবার করুন, মাইএসকিএল-সার্ভারটি আনইনস্টল করার পরে সমস্ত মাইএসকিএল ডিরেক্টরি সরান। পুনরায় ইনস্টল করুন, তবে এবার কেবল চালান

 mysql -u root -p <databasename> < database.sql

এবং আপনি সোনার হতে হবে! আপনাকে ডাটাবেসগুলি পুনরায় তৈরি করতে হবে ( CREATE DATABASE databasename;) সেই ডেটাবেজের মালিকানাধীন ব্যবহারকারীর পুনরায় তৈরি করতে ভুলবেন না (যদি আপনি ভুলে যান তবে আপনার /var/www/html/wp-config.php বা অন্য যে কোনও জায়গায় দেখুন) অন্যথায় আপনার wp-config.php বিবরণ জন্য)।


1
প্রতি টেবিল এবং ইনডোডাব ইঞ্জিনের ফাইলগুলি একবার দেখুন, আপনি এটি পছন্দ করতে পারেন ;-)
এস1 মেল

1
অনেক ধন্যবাদ! তবে innodb_force_recovery=6মাইএসকিউএল প্রম্পটে intoোকাতে আমাকে /etc/mysql/my.cnf সেট করতে হয়েছিল।
অতিথি 19

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