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: रूपांतरण विवरण निष्पादित करें

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

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 में बदलने के बारे में बस इतना ही। अब आप इसे आज़मा सकते हैं!

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

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

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

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

इस लेख का लिंक साझा करने में संकोच न करें: https://www.chenweiliang.com/cwl-31790.html

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

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

 

发表 评论

您的邮箱地址不会被公开。必填项已用*标注

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