دليل المادة
في هذه المقالة، سنلقي نظرة فاحصة MySQL أفضل طريقة لتحويل MyISAM إلى محرك تخزين InnoDB في قاعدة البيانات.
سنرشدك خطوة بخطوة خلال عملية التحويل ونقدم لك النصائح والحيل المفيدة لضمان إجرائها بكفاءة وأمان.
سواء كنت مسؤول قاعدة بيانات أو مطورًا، سيساعدك هذا الدليل على فهم الاختلافات بين MyISAM وInnoDB، ولماذا يعد التحويل إلى InnoDB أمرًا بالغ الأهمية لتحسين الأداء وتحسين موثوقية البيانات.
اتبع خطواتنا التفصيلية وستتمكن من تحويل ملفك بسهولة MySQL يتم تحويل قاعدة البيانات إلى محرك تخزين 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يمكن أن يساعدنا في تصفية الحدود بسهولة.
在شات جي بي تيأدخل التالي:
请帮我过滤以下边框:
+--------------------------------------------------------------+
| ALTER TABLE table1 ENGINE=InnoDB; |
| ALTER TABLE table2 ENGINE=InnoDB; |
| ALTER TABLE table3 ENGINE=InnoDB; |
+--------------------------------------------------------------+
بعد ذلك، عند التشغيل في MySQL، سيقوم MySQL بتنفيذ عبارات ALTER TABLE هذه بالتسلسل لتحويل جميع جداول MyISAM إلى جداول InnoDB.
مثال
افترض أن قاعدة البيانات التي تريد تشغيلها تم تسميتها example_db، قم بالخطوات التالية:
- حدد قاعدة البيانات:
USE example_db;
- إنشاء بيانات التحويل:
SELECT CONCAT('ALTER TABLE ',table_name,' ENGINE=InnoDB;')
FROM information_schema.tables
WHERE table_schema="example_db" AND ENGINE="MyISAM";- انسخ البيان الذي تم إنشاؤه وقم بتنفيذه في MySQL:
ALTER TABLE table1 ENGINE=InnoDB;
ALTER TABLE table2 ENGINE=InnoDB;
注意 事项
قبل إجراء عملية تحويل الدفعة هذه، هناك بعض النقاط التي يجب ملاحظتها:
1. النسخ الاحتياطي للبيانات: قبل إجراء تحويل الدفعة، تأكد من أخذ نسخة احتياطية كاملة من قاعدة البيانات لمنع فقدان البيانات.
2. بيئة الاختبار: من الأفضل الاختبار في بيئة اختبار أولاً للتأكد من أن عملية التحويل لن تؤثر على التشغيل العادي للتطبيق.
3. أذونات قاعدة البيانات: تأكد من أن لديك امتيازات قاعدة بيانات كافية لإجراء عمليات ALTER TABLE.
استنتاج
من خلال الخطوات المذكورة أعلاه، يمكننا بسهولة تحويل جميع جداول MyISAM في قاعدة بيانات MySQL إلى جداول InnoDB. إن القيام بذلك لا يؤدي فقط إلى تحسين قدرات المعالجة المتزامنة لقاعدة البيانات، بل يعزز أيضًا أمان البيانات وسلامتها.
آمل أن تساعدك هذه المقالة على فهم قاعدة بيانات MySQL وتشغيلها بشكل أفضل. إذا كان لديك أي أسئلة أو اقتراحات، يرجى ترك رسالة في منطقة التعليق.
هذا كل ما يتعلق بتحويل دفعة MyISAM إلى InnoDB. الآن يمكنك تجربتها!
🔧💡عايز تعرف طريقة الاستخدامبريستحويل نوع جدول بيانات InnoDB إلى محرك MyISAM الافتراضي؟ توفر لك هذه المقالة خطوات وإرشادات تفصيلية لتسهيل عملية التحويل!
👇ينصح بمواصلة القراءة👇
انقر فوق الرابط لمعرفة المزيد من مهارات تحويل قاعدة البيانات وتحسين إدارة قاعدة البيانات الخاصة بك! 📚💻
مدونة Hope Chen Weiliang ( https://www.chenweiliang.com/ ) شارك "كيفية تحويل قاعدة بيانات MySQL إلى محرك تخزين MyISAM إلى InnoDB؟" 》، مفيد لك.
مرحبا بكم في مشاركة رابط هذه المقالة:https://www.chenweiliang.com/cwl-31790.html

