MySQL डेटाबेस को MyISAM से InnoDB स्टोरेज इंजन में कैसे परिवर्तित करें?

इस लेख में, हम बारीकी से देखेंगे MySQL डेटाबेस में MyISAM को InnoDB स्टोरेज इंजन में बैचने का सबसे अच्छा तरीका।

हम आपको रूपांतरण प्रक्रिया के माध्यम से चरण-दर-चरण मार्गदर्शन करेंगे और यह सुनिश्चित करने के लिए उपयोगी युक्तियाँ और तरकीबें प्रदान करेंगे कि यह कुशलतापूर्वक और सुरक्षित रूप से किया जाए।

चाहे आप डेटाबेस प्रशासक हों या डेवलपर, यह मार्गदर्शिका आपको MyISAM और InnoDB के बीच अंतर को समझने में मदद करेगी, और प्रदर्शन को अनुकूलित करने और डेटा विश्वसनीयता में सुधार करने के लिए InnoDB में कनवर्ट करना महत्वपूर्ण क्यों है।

हमारे विस्तृत चरणों का पालन करें और आप आसानी से अपना रूपांतरण कर सकेंगे MySQL डेटाबेस को InnoDB स्टोरेज इंजन में परिवर्तित किया जाता है, जिससे प्रदर्शन में सुधार होता है और डेटा सुरक्षा और अखंडता सुनिश्चित होती है।

MySQL डेटाबेस को MyISAM से InnoDB स्टोरेज इंजन में कैसे परिवर्तित करें?

MySQL डेटाबेस सिस्टम में, MyISAM और InnoDB दो सामान्य स्टोरेज इंजन हैं। MyISAM कई रीड ऑपरेशन वाले परिदृश्यों के लिए तेज़ और उपयुक्त है।

InnoDB लेनदेन, विदेशी कुंजी और पंक्ति-स्तरीय लॉकिंग का समर्थन करता है, और उन अनुप्रयोगों के लिए अधिक उपयुक्त है जिनके लिए डेटा अखंडता और समवर्ती नियंत्रण की आवश्यकता होती है। तो, जब हमें MyISAM तालिकाओं को InnoDB में बैच रूप से परिवर्तित करने की आवश्यकता हो तो हमें क्या करना चाहिए?

MyISAM को InnoDB में क्यों बदलें?

सबसे पहले, आइए इस बारे में बात करें कि हम यह बदलाव क्यों कर रहे हैं।

हालाँकि MyISAM का प्रदर्शन अच्छा है, लेकिन इसमें डेटा सुरक्षा और समवर्ती प्रसंस्करण में कमियाँ हैं।

InnoDB लेनदेन समर्थन प्रदान करता है, जो डेटा स्थिरता सुनिश्चित कर सकता है और उच्च समवर्ती स्थितियों को संभाल सकता है।

1. डेटा अखंडता: InnoDB लेनदेन का समर्थन करता है और डेटा स्थिरता सुनिश्चित करने के लिए संचालन को रोलबैक कर सकता है।

2. समवर्ती नियंत्रण: InnoDB पंक्ति-स्तरीय लॉकिंग का उपयोग करता है, जो उच्च-समवर्ती अनुप्रयोगों के लिए उपयुक्त है।

3. विदेशी कुंजी समर्थन: InnoDB विदेशी कुंजियों का समर्थन करता है, जो डेटा की संदर्भात्मक अखंडता प्राप्त कर सकता है।

MyISAM को InnoDB में बैचने की विधि

हम सभी तालिकाओं के लिए रूपांतरण विवरण उत्पन्न करने के लिए एक SQL कथन का उपयोग कर सकते हैं और फिर उन सभी को एक साथ निष्पादित कर सकते हैं।

यह जटिल लगता है, लेकिन वास्तव में यह काफी सरल है। बस कुछ ही कदम.

चरण 1: एक डेटाबेस चुनें

सबसे पहले, सुनिश्चित करें कि आपने वह डेटाबेस चुन लिया है जिस पर आप काम करना चाहते हैं। निम्नलिखित कमांड का उपयोग किया जा सकता है:

mysql
USE 你要操作的数据库名;

चरण 2: रूपांतरण विवरण तैयार करें

इसके बाद, हमें SQL स्टेटमेंट तैयार करने की आवश्यकता है जो सभी MyISAM तालिकाओं को InnoDB तालिकाओं में परिवर्तित कर दे।

यह पूछताछ करके किया जा सकता है information_schema.tables प्राप्त करने के लिए तालिका.

निम्नलिखित SQL कथन चलाएँ:

SELECT CONCAT('ALTER TABLE ',table_name,' ENGINE=InnoDB;') 
FROM information_schema.tables 
WHERE table_schema="你要操作的数据库名" AND ENGINE="MyISAM";

यह स्टेटमेंट ALTER TABLE स्टेटमेंट्स का एक सेट तैयार करता है जो प्रत्येक MyISAM टेबल के स्टोरेज इंजन को InnoDB में बदल देता है।

चरण 3: रूपांतरण विवरण निष्पादित करें

पिछले चरण में उत्पन्न परिणामों को कॉपी करें और पास करेंAIयह हमें सीमाओं को आसानी से फ़िल्टर करने में मदद कर सकता है।

ChatGPTनिम्नलिखित दर्ज करें:

请帮我过滤以下边框:

+--------------------------------------------------------------+
| ALTER TABLE table1 ENGINE=InnoDB; |
| ALTER TABLE table2 ENGINE=InnoDB; |
| ALTER TABLE table3 ENGINE=InnoDB; |
+--------------------------------------------------------------+

फिर, जब MySQL में चलाया जाता है, तो MySQL सभी MyISAM तालिकाओं को InnoDB तालिकाओं में बदलने के क्रम में इन ALTER TABLE कथनों को निष्पादित करेगा।

उदाहरण

मान लें कि जिस डेटाबेस को आप संचालित करना चाहते हैं उसका नाम है example_db, निम्नलिखित चरण निष्पादित करें:

  1. डेटाबेस चुनें:
USE example_db;
  1. रूपांतरण विवरण जनरेट करें:
SELECT CONCAT('ALTER TABLE ',table_name,' ENGINE=InnoDB;') 
FROM information_schema.tables 
WHERE table_schema="example_db" AND ENGINE="MyISAM";
  1. जेनरेट किए गए स्टेटमेंट को कॉपी करें और इसे MySQL में निष्पादित करें:
ALTER TABLE table1 ENGINE=InnoDB;
ALTER TABLE table2 ENGINE=InnoDB;

注意 事项

इस बैच रूपांतरण ऑपरेशन को करने से पहले, ध्यान देने योग्य कुछ बातें हैं:

1. डेटा बैकअप: बैच रूपांतरण करने से पहले, डेटा हानि को रोकने के लिए डेटाबेस का पूरा बैकअप लेना सुनिश्चित करें।

2. परीक्षण वातावरण: यह सुनिश्चित करने के लिए कि रूपांतरण प्रक्रिया आपके एप्लिकेशन के सामान्य संचालन को प्रभावित नहीं करेगी, पहले परीक्षण वातावरण में परीक्षण करना एक अच्छा विचार है।

3. डेटाबेस अनुमतियाँ: सुनिश्चित करें कि आपके पास ALTER TABLE संचालन करने के लिए पर्याप्त डेटाबेस विशेषाधिकार हैं।

निष्कर्ष के तौर पर

उपरोक्त चरणों के साथ, हम आसानी से MySQL डेटाबेस में सभी MyISAM तालिकाओं को InnoDB तालिकाओं में परिवर्तित कर सकते हैं। ऐसा करने से न केवल डेटाबेस की समवर्ती प्रसंस्करण क्षमताओं में सुधार हो सकता है, बल्कि डेटा की सुरक्षा और अखंडता भी बढ़ सकती है।

मुझे उम्मीद है कि यह लेख आपको MySQL डेटाबेस को बेहतर ढंग से समझने और संचालित करने में मदद कर सकता है। यदि आपका कोई प्रश्न या सुझाव है, तो कृपया टिप्पणी क्षेत्र में एक संदेश छोड़ें।

MyISAM बैच को InnoDB में बदलने के बारे में बस इतना ही। अब आप इसे आज़मा सकते हैं!

🔧💡जानना चाहते हैं कि कैसे उपयोग करेंphpMyAdminInnoDB डेटा तालिका प्रकार को MyISAM डिफ़ॉल्ट इंजन में कनवर्ट करें? यह आलेख आपको रूपांतरण को आसान बनाने के लिए विस्तृत चरण और मार्गदर्शन प्रदान करता है!

👇पढ़ना जारी रखने की सलाह दी जाती है👇

अधिक डेटाबेस रूपांतरण कौशल सीखने और अपने डेटाबेस प्रबंधन को अनुकूलित करने के लिए लिंक पर क्लिक करें! 📚💻

होप चेन वेइलियांग ब्लॉग ( https://www.chenweiliang.com/ ) साझा किया गया "MySQL डेटाबेस को MyISAM से InnoDB स्टोरेज इंजन में कैसे परिवर्तित करें?" 》, आपके लिए मददगार।

इस लेख का लिंक साझा करने के लिए आपका स्वागत है:https://www.chenweiliang.com/cwl-31790.html

अधिक छिपी हुई ट्रिक्स को अनलॉक करने के लिए, हमारे टेलीग्राम चैनल से जुड़ने के लिए आपका स्वागत है!

पसंद आये तो शेयर और लाइक करें! आपके शेयर और लाइक हमारी निरंतर प्रेरणा हैं!

 

发表 评论

आपकी ईमेल आईडी प्रकाशित नहीं की जाएगी। आवश्यक फ़ील्ड का उपयोग किया जाता है * लेबल

ऊपर स्क्रॉल करें