ترحيل قاعدة بيانات MariaDB إلى قاعدة بيانات Azure ل MariaDB باستخدام التفريغ والاستعادة
توضح هذه المقالة طريقتين شائعتين لعمل نسخة احتياطية من قواعد البيانات واستعادتها في قاعدة بيانات Azure الخاصة بك ل MariaDB:
- تفريغ واستعادة باستخدام أداة سطر الأوامر (باستخدام mysqldump)
- تفريغ واستعادة باستخدام phpMyAdmin
المتطلبات الأساسية
قبل البدء في ترحيل قاعدة البيانات، قم بما يلي:
- إنشاء قاعدة بيانات Azure لخادم MariaDB - مدخل Azure.
- تثبيت الأداة المساعدة سطر الأوامر mysqldump .
- قم بتنزيل MySQL Workbench وتثبيته أو أداة MySQL أخرى تابعة لجهة خارجية لتشغيل أوامر التفريغ والاستعادة.
استخدام الأدوات الشائعة
استخدم الأدوات المساعدة والأدوات الشائعة مثل MySQL Workbench أو mysqldump للاتصال بالبيانات واستعادتها عن بعد في قاعدة بيانات Azure الخاصة بك ل MariaDB. استخدم هذه الأدوات على جهاز العميل الخاص بك مع اتصال بالإنترنت للاتصال بقاعدة بيانات Azure ل MariaDB. استخدم اتصالا مشفرا بواسطة طبقة المقابس الآمنة كأفضل ممارسات الأمان. لمزيد من المعلومات، راجع تكوين اتصال SSL في قاعدة بيانات Azure ل MariaDB. لا تحتاج إلى نقل ملفات التفريغ إلى أي موقع سحابي خاص عند ترحيل البيانات إلى قاعدة بيانات Azure الخاصة بك ل MariaDB.
الاستخدامات الشائعة للتفريغ والاستعادة
يمكنك استخدام الأدوات المساعدة MySQL مثل mysqldump و mysqlpump لتفريغ وتحميل قواعد البيانات في قاعدة بيانات Azure لخادم MariaDB في العديد من السيناريوهات الشائعة.
استخدم عمليات تفريغ قاعدة البيانات عند ترحيل قاعدة بيانات بأكملها. تظل هذه التوصية سارية عند نقل كمية كبيرة من البيانات، أو عندما تريد تقليل انقطاع الخدمة للمواقع أو التطبيقات المباشرة.
تأكد من أن جميع الجداول الموجودة في قاعدة البيانات تستخدم محرك تخزين InnoDB عند تحميل البيانات في قاعدة بيانات Azure ل MariaDB. تدعم قاعدة بيانات Azure ل MariaDB محرك تخزين InnoDB فقط، ولا تدعم أي محركات تخزين أخرى. إذا تم تكوين الجداول الخاصة بك مع محركات تخزين أخرى، فقم بتحويلها إلى تنسيق محرك InnoDB قبل ترحيلها إلى قاعدة بيانات Azure الخاصة بك ل MariaDB.
على سبيل المثال، إذا كان لديك تطبيق WordPress أو تطبيق ويب يستخدم جداول MyISAM، فقم أولا بتحويل هذه الجداول عن طريق ترحيلها إلى تنسيق InnoDB قبل استعادتها إلى قاعدة بيانات Azure الخاصة بك ل MariaDB. استخدم العبارة
ENGINE=InnoDBلتعيين المحرك لاستخدامه لإنشاء جدول جديد، ثم قم بنقل البيانات إلى الجدول المتوافق قبل استعادتها.INSERT INTO innodb_table SELECT * FROM myisam_table ORDER BY primary_key_columnsلتجنب أي مشكلات في التوافق عند تفريغ قواعد البيانات، تأكد من أنك تستخدم نفس الإصدار من MariaDB على أنظمة المصدر والوجهة. على سبيل المثال، إذا كان خادم MariaDB الحالي هو الإصدار 10.2، فيجب الترحيل إلى قاعدة بيانات Azure الخاصة ب MariaDB التي تم تكوينها لتشغيل الإصدار 10.2. لا يعمل
mysql_upgradeالأمر في قاعدة بيانات Azure لخادم MariaDB، وهو غير مدعوم. إذا كنت بحاجة إلى الترقية عبر إصدارات MariaDB، فقم أولا بتفريغ قاعدة بيانات الإصدار السابق أو تصديرها إلى إصدار أحدث من MariaDB في بيئتك الخاصة. يمكنك بعد ذلك التشغيلmysql_upgradeقبل محاولة الترحيل إلى قاعدة بيانات Azure الخاصة بك ل MariaDB.
اعتبارات الأداء
لتحسين الأداء عند التخلص من قواعد البيانات الكبيرة، ضع في اعتبارك الاعتبارات التالية:
- استخدم الخيار في
exclude-triggersmysqldump. استبعاد المشغلات من ملفات التفريغ لتجنب إطلاق أوامر المشغل أثناء استعادة البيانات. single-transactionاستخدم الخيار لتعيين وضع عزل المعاملة إلى قراءة قابلة للتكرار وإرسال بيان SQL معاملة START إلى الخادم قبل تفريغ البيانات. يؤدي إغراق العديد من الجداول داخل معاملة واحدة إلى استهلاك بعض التخزين الإضافي أثناء الاستعادة. الخيارsingle-transactionوالخيارlock-tablesيستبعد أحدهما الآخر. وذلك لأن LOCK TABLES يتسبب في تنفيذ أي معاملات معلقة ضمنيا. لتفريغ الجداول الكبيرة ، ادمجsingle-transactionالخيار مع الخيارquick.- استخدم بناء جملة متعدد الصفوف
extended-insertالذي يتضمن عدة قوائم VALUE. ينتج عن هذا النهج ملف تفريغ أصغر ويسرع عمليات الإدراج عند إعادة تحميل الملف. - استخدم الخيار في
order-by-primarymysqldump عند تفريغ قواعد البيانات، بحيث تتم برمجة البيانات بترتيب المفاتيح الأساسي. - استخدم الخيار في
disable-keysmysqldump عند تفريغ البيانات ، لتعطيل قيود المفتاح الخارجي قبل التحميل. يساعد تعطيل عمليات التحقق من المفاتيح الخارجية على تحسين الأداء. تمكين القيود والتحقق من البيانات بعد التحميل لضمان سلامة المرجع. - استخدم الجداول المقسمة عند الاقتضاء.
- تحميل البيانات بالتوازي. تجنب الكثير من التوازي، الذي قد يتسبب في الوصول إلى حد الموارد، وراقب الموارد باستخدام المقاييس المتوفرة في مدخل Azure.
- استخدم الخيار في
defer-table-indexesmysqlpump عند تفريغ قواعد البيانات، بحيث يحدث إنشاء الفهرس بعد تحميل بيانات الجدول. - انسخ ملفات النسخ الاحتياطي إلى متجر Azure blob وقم بإجراء الاستعادة من هناك. يجب أن يكون هذا النهج أسرع بكثير من إجراء الاستعادة عبر الإنترنت.
إنشاء ملف نسخ احتياطي
لعمل نسخة احتياطية من قاعدة بيانات MariaDB موجودة على الملقم المحلي المحلي أو في جهاز ظاهري، قم بتشغيل الأمر التالي باستخدام mysqldump:
$ mysqldump --opt -u <uname> -p<pass> <dbname> > <backupfile.sql>
المعلمات التي يجب توفيرها هي:
- <uname>: اسم مستخدم قاعدة البيانات الخاصة بك
- <تمرير>: كلمة المرور لقاعدة البيانات الخاصة بك (لاحظ أنه لا توجد مسافة بين -p وكلمة المرور)
- <dbname>: اسم قاعدة البيانات الخاصة بك
- <backupfile.sql>: اسم الملف للنسخ الاحتياطي لقاعدة البيانات
- <--opt>: خيار mysqldump
على سبيل المثال، لإجراء نسخ احتياطي لقاعدة بيانات باسم testdb على خادم MariaDB باستخدام اسم المستخدم testuser وبدون كلمة مرور لملف testdb_backup.sql، استخدم الأمر التالي. يقوم الأمر بعمل نسخة احتياطية من testdb قاعدة البيانات في ملف يسمى testdb_backup.sql، والذي يحتوي على جميع عبارات SQL اللازمة لإعادة إنشاء قاعدة البيانات.
$ mysqldump -u root -p testdb > testdb_backup.sql
لتحديد جداول معينة لنسخها احتياطيا في قاعدة البيانات، قم بإدراج أسماء الجداول مفصولة بمسافات. على سبيل المثال، لعمل نسخة احتياطية من جدولي table1 وtable2 فقط من testdb، اتبع هذا المثال:
$ mysqldump -u root -p testdb table1 table2 > testdb_tables_backup.sql
لإجراء نسخ احتياطي لأكثر من قاعدة بيانات واحدة في وقت واحد، استخدم رمز التبديل --database وقم بإدراج أسماء قواعد البيانات، مفصولة بمسافات.
$ mysqldump -u root -p --databases testdb1 testdb3 testdb5 > testdb135_backup.sql
إنشاء قاعدة بيانات على الخادم الهدف
قم بإنشاء قاعدة بيانات فارغة على قاعدة بيانات Azure الهدف لخادم MariaDB حيث تريد ترحيل البيانات. استخدم أداة مثل MySQL Workbench لإنشاء قاعدة البيانات. يمكن أن يكون لقاعدة البيانات نفس اسم قاعدة البيانات التي تحتوي على البيانات التي تم إغراقها، أو يمكنك إنشاء قاعدة بيانات باسم مختلف.
للاتصال، حدد موقع معلومات الاتصال في جزء "نظرة عامة " في قاعدة بيانات Azure ل MariaDB.

في MySQL Workbench، أضف معلومات الاتصال.

استعادة قاعدة بيانات MariaDB الخاصة بك
بعد إنشاء قاعدة البيانات الهدف، يمكنك استخدام الأمر mysql أو MySQL Workbench لاستعادة البيانات إلى قاعدة البيانات التي تم إنشاؤها حديثا من ملف التفريغ.
mysql -h <hostname> -u <uname> -p<pass> <db_to_restore> < <backupfile.sql>
في هذا المثال، يمكنك استعادة البيانات إلى قاعدة البيانات التي تم إنشاؤها حديثا على قاعدة بيانات Azure الهدف لخادم MariaDB.
$ mysql -h mydemoserver.mariadb.database.azure.com -u myadmin@mydemoserver -p testdb < testdb_backup.sql
تصدير قاعدة بيانات MariaDB الخاصة بك باستخدام phpMyAdmin
للتصدير ، يمكنك استخدام الأداة الشائعة phpMyAdmin ، والتي قد تكون مثبتة بالفعل محليا في بيئتك. لتصدير قاعدة بيانات MariaDB، قم بما يلي:
- افتح phpMyAdmin.
- في الجزء الأيمن، حدد قاعدة البيانات الخاصة بك، ثم حدد الارتباط تصدير . تظهر صفحة جديدة لعرض تفريغ قاعدة البيانات.
- في منطقة التصدير ، حدد الارتباط تحديد الكل لاختيار الجداول في قاعدة البيانات.
- في منطقة خيارات SQL، حدد الخيارات المناسبة.
- حدد الخيار حفظ كملف وخيار الضغط المقابل، ثم حدد انتقال. في المطالبة، احفظ الملف محليا.
استيراد قاعدة البيانات الخاصة بك باستخدام phpMyAdmin
تشبه عملية الاستيراد عملية التصدير. قم بما يلي:
- افتح phpMyAdmin.
- في صفحة إعداد phpMyAdmin، حدد إضافة لإضافة قاعدة بيانات Azure لخادم MariaDB.
- أدخل تفاصيل الاتصال ومعلومات تسجيل الدخول.
- إنشاء قاعدة بيانات مسماة بشكل مناسب، ثم قم بتحديدها في الجزء الأيمن. لإعادة كتابة قاعدة البيانات الموجودة، حدد اسم قاعدة البيانات، وحدد كافة خانات الاختيار الموجودة بجانب أسماء الجداول، وحدد إسقاط لحذف الجداول الموجودة.
- حدد الرابط SQL لإظهار الصفحة حيث يمكنك إدخال أوامر SQL أو تحميل ملف SQL.
- حدد زر الاستعراض للعثور على ملف قاعدة البيانات.
- حدد الزر انتقال لتصدير النسخة الاحتياطية، وتنفيذ أوامر SQL، وإعادة إنشاء قاعدة البيانات.