Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

frm और ibd फ़ाइलों से तालिका संरचना को पुनर्स्थापित करें

मैंने तालिका को केवल .frm . से पुनर्स्थापित किया है और .idb फ़ाइलें.

टेबल बनाने के लिए SQL क्वेरी प्राप्त करें

यदि आप पहले से ही अपनी तालिकाओं का स्कीमा जानते हैं, तो आप इस चरण को छोड़ सकते हैं।

  1. सबसे पहले, MySQL Utilities इंस्टॉल करें .फिर आप mysqlfrm . का उपयोग कर सकते हैं कमांड प्रॉम्प्ट (cmd) में कमांड।

  2. दूसरा, SQL क्वेरी .frm . से प्राप्त करें mysqlfrm का उपयोग कर फ़ाइलें आदेश:

    mysqlfrm --diagnostic <path>/example_table.frm
    

फिर आप समान संरचित तालिका बनाने के लिए SQL क्वेरी प्राप्त कर सकते हैं। इस तरह:

CREATE TABLE `example_table` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(150) NOT NULL,
  `photo_url` varchar(150) NOT NULL,
  `password` varchar(600) NOT NULL,
  `active` smallint(6) NOT NULL,
  `plan` int(11) NOT NULL,
PRIMARY KEY `PRIMARY` (`id`)
) ENGINE=InnoDB;

टेबल बनाएं

उपरोक्त SQL क्वेरी का उपयोग करके तालिकाएँ बनाएँ।

यदि पुराना डेटा अभी भी मौजूद है, तो आपको पहले संबंधित डेटाबेस और तालिकाओं को छोड़ना पड़ सकता है। सुनिश्चित करें कि आपके पास डेटा फ़ाइलों का बैकअप है।

डेटा पुनर्स्थापित करें

नया तालिका डेटा निकालने के लिए यह क्वेरी चलाएँ:

ALTER TABLE example_table DISCARD TABLESPACE;

यह नए .frm . के बीच के कनेक्शन को हटा देता है फ़ाइल और (नया, खाली) .idb फ़ाइल। साथ ही, .idb को हटा दें फोल्डर में फाइल करें।

फिर, पुराना .idb डालें नए फ़ोल्डर में फ़ाइल करें, जैसे:

cp backup/example_table.ibd <path>/example_table.idb

सुनिश्चित करें कि .ibd फ़ाइलें mysql . द्वारा पढ़ी जा सकती हैं उपयोगकर्ता, उदा. chown -R mysql:mysql *.ibd . चलाकर फ़ोल्डर में।

पुराना डेटा आयात करने के लिए यह क्वेरी चलाएँ:

ALTER TABLE example_table IMPORT TABLESPACE;

यह .idb . से डेटा आयात करता है फ़ाइल और डेटा को पुनर्स्थापित करेगा।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL:#126 - तालिका के लिए गलत कुंजी फ़ाइल

  2. mysql पिवट/क्रॉसस्टैब क्वेरी

  3. MySQL में यह ऑपरेटर <=> क्या है?

  4. MySQL में रनिंग टोटल की गणना कैसे करें

  5. कई प्रश्नों के साथ php/mysql