ديف أوبس

استيراد وتصدير قواعد بيانات MySQL

كيفية استيراد وتصدير قواعد بيانات MySQL أو MariaDB

تعتبر عملية استيراد وتصدير قواعد البيانات من العمليات الأساسية التي يجب أن يكون كل مطور أو مسؤول نظام على دراية بها. إذا كنت تستخدم MySQL أو MariaDB، فستحتاج إلى معرفة كيفية نقل البيانات بين الخوادم أو النسخ الاحتياطية (backups) أو نقل البيانات بين بيئات مختلفة. يتيح لك الاستيراد والتصدير نقل البيانات بين الأنظمة والتأكد من إمكانية نقلها بأمان وبدون فقدان.

مقدمة

يعد MySQL وMariaDB من أشهر أنظمة إدارة قواعد البيانات مفتوحة المصدر، ولهما استخدامات عديدة في تطبيقات الويب، والخوادم، وكذلك التطبيقات التي تعتمد على البيانات. يتيح لك كل من MySQL وMariaDB استيراد وتصدير قواعد البيانات بأكثر من طريقة، لكن الأساليب الأكثر شيوعاً تشمل استخدام أدوات سطر الأوامر مثل mysqldump أو mysqlimport أو أدوات إدارة قواعد البيانات مثل phpMyAdmin.

في هذا المقال، سنقوم بمراجعة الطرق المختلفة لاستيراد وتصدير قواعد البيانات بين خوادم MySQL وMariaDB مع التركيز على استخدام أدوات سطر الأوامر نظرًا لأهميتها ومرونتها.

1. تصدير قاعدة البيانات باستخدام mysqldump

تعتبر أداة mysqldump الأداة الأكثر استخدامًا لتصدير قواعد بيانات MySQL أو MariaDB. وهي تقوم بإنشاء نسخة احتياطية من قاعدة البيانات بصيغة SQL يمكن استيرادها في أي وقت أو على أي خادم آخر.

1.1 كيفية استخدام mysqldump لتصدير قاعدة البيانات

لتصدير قاعدة بيانات MySQL أو MariaDB، يجب أولاً فتح سطر الأوامر (Terminal) أو واجهة الأوامر في نظام التشغيل الذي تستخدمه. بعد ذلك، يمكنك تنفيذ الأمر التالي:

bash
mysqldump -u username -p database_name > backupfile.sql
  • -u username: اسم المستخدم الخاص بقواعد البيانات.

  • -p: سيتم طلب كلمة المرور للمستخدم بعد تنفيذ الأمر.

  • database_name: اسم قاعدة البيانات التي ترغب في تصديرها.

  • backupfile.sql: اسم الملف الذي سيتم تخزين البيانات فيه بصيغة SQL.

1.2 خيارات إضافية لـ mysqldump
  • لتصدير جميع قواعد البيانات في النظام:

    bash
    mysqldump -u username -p --all-databases > alldatabases.sql
  • لتصدير قاعدة البيانات مع جميع الجداول والبيانات:

    bash
    mysqldump -u username -p --opt database_name > backupfile.sql
  • لتصدير قاعدة بيانات بدون بيانات (فقط الهيكلية أو المخطط):

    bash
    mysqldump -u username -p -d database_name > structure.sql

2. استيراد قاعدة البيانات باستخدام mysql

بمجرد أن يتم تصدير قاعدة البيانات باستخدام mysqldump، يمكنك استيراد هذه البيانات إلى قاعدة بيانات أخرى باستخدام أداة mysql.

2.1 كيفية استيراد قاعدة بيانات باستخدام mysql

لتنفيذ عملية الاستيراد، يجب أولاً فتح سطر الأوامر (Terminal) ثم تنفيذ الأمر التالي:

bash
mysql -u username -p database_name < backupfile.sql
  • -u username: اسم المستخدم.

  • -p: سيتم طلب كلمة المرور بعد تنفيذ الأمر.

  • database_name: اسم قاعدة البيانات التي تريد استيراد البيانات إليها.

  • backupfile.sql: اسم ملف النسخة الاحتياطية (الذي تم إنشاؤه باستخدام mysqldump).

2.2 استيراد قاعدة بيانات إلى خادم آخر

إذا كنت ترغب في استيراد البيانات إلى خادم مختلف، يمكنك ببساطة نقل الملف الذي يحتوي على النسخة الاحتياطية (backupfile.sql) إلى الخادم الجديد، ثم تنفيذ نفس الأمر المذكور أعلاه.

3. استخدام mysqlimport لاستيراد البيانات

أداة mysqlimport هي طريقة أخرى لاستيراد البيانات، ولكنها تعمل بشكل مختلف قليلاً مقارنة بـ mysql. تعتمد هذه الأداة على استيراد البيانات من ملفات نصية بصيغة CSV أو TSV.

3.1 كيفية استخدام mysqlimport لاستيراد البيانات

لتنفيذ عملية الاستيراد باستخدام mysqlimport، يجب أن يكون لديك ملف بيانات من نوع CSV يحتوي على البيانات التي ترغب في استيرادها. افترض أن لديك ملف بيانات يسمى data.csv في نفس الدليل الذي تعمل فيه، يمكنك تنفيذ الأمر التالي:

bash
mysqlimport -u username -p --fields-terminated-by=',' --lines-terminated-by='\n' database_name data.csv
  • --fields-terminated-by=',': يحدد فاصل الحقول (في هذه الحالة، فاصلة).

  • --lines-terminated-by='\n': يحدد فاصل الأسطر (في هذه الحالة، سطر جديد).

  • database_name: اسم قاعدة البيانات التي تريد الاستيراد إليها.

  • data.csv: اسم الملف الذي يحتوي على البيانات.

4. استخدام phpMyAdmin لتصدير واستيراد البيانات

بالنسبة لأولئك الذين يفضلون واجهات المستخدم الرسومية، يمكن استخدام phpMyAdmin لتصدير واستيراد البيانات بطريقة أكثر سهولة ومرونة.

4.1 تصدير قاعدة البيانات عبر phpMyAdmin
  1. قم بتسجيل الدخول إلى phpMyAdmin.

  2. اختر قاعدة البيانات التي تريد تصديرها من القائمة الجانبية.

  3. انتقل إلى تبويب “تصدير”.

  4. اختر “التصدير السريع” أو “التصدير المخصص” حسب احتياجاتك.

  5. اختر صيغة SQL.

  6. اضغط على “انتقال” لتحميل الملف.

4.2 استيراد قاعدة البيانات عبر phpMyAdmin
  1. قم بتسجيل الدخول إلى phpMyAdmin.

  2. اختر قاعدة البيانات التي تريد استيراد البيانات إليها.

  3. انتقل إلى تبويب “استيراد”.

  4. اختر الملف الذي يحتوي على البيانات (الملف بصيغة SQL أو CSV).

  5. اضغط على “انتقال” لبدء عملية الاستيراد.

5. استيراد وتصدير باستخدام أدوات إدارة قاعدة البيانات الأخرى

إذا كنت تستخدم أدوات أخرى لإدارة قواعد البيانات مثل DBeaver أو Navicat، فإن عملية الاستيراد والتصدير تكون مشابهة. هذه الأدوات توفر واجهات رسومية تتيح لك تصدير واستيراد البيانات بسهولة، دون الحاجة لاستخدام سطر الأوامر.

6. استيراد وتصدير البيانات بين MySQL وMariaDB

نظرًا لأن MariaDB هو إصدار مفتوح المصدر من MySQL، فإن العمليات نفسها متوافقة بين الاثنين. يمكن تصدير قاعدة البيانات من MySQL باستخدام mysqldump ثم استيرادها إلى MariaDB، أو العكس. المهم هو التأكد من أن النسخة الاحتياطية الخاصة بك تتوافق مع الإصدار الذي تستخدمه.

6.1 نقل قاعدة بيانات من MySQL إلى MariaDB

من خلال اتباع نفس الخطوات المذكورة سابقًا لتصدير واستيراد البيانات، يمكنك نقل قاعدة بيانات بين MySQL وMariaDB بسهولة. فقط تأكد من أن لديك الأذونات المناسبة في الخادم الهدف.

6.2 نقل قاعدة بيانات من MariaDB إلى MySQL

يتم نفس الشيء عند العكس. لا يتطلب الأمر أي تغييرات كبيرة بين النظامين، ولكن قد تحتاج إلى التأكد من أن بعض الإعدادات أو الإصدارات متوافقة.

7. نصائح إضافية لتصدير واستيراد البيانات

  • استخدام ضغط الملفات: في حالة قواعد البيانات الكبيرة، يمكنك ضغط ملف النسخة الاحتياطية (باستخدام gzip أو zip) لتقليل حجم الملف أثناء النقل.

    لتصدير البيانات وضغطها في نفس الوقت:

    bash
    mysqldump -u username -p database_name | gzip > backupfile.sql.gz
  • النسخ الاحتياطي المنتظم: من الأفضل دائمًا إنشاء نسخ احتياطية منتظمة لمواردك لتجنب فقدان البيانات.

  • التحقق من التوافق: تأكد دائمًا من أن البنية الخاصة بقاعدة البيانات في النسخة الاحتياطية تتوافق مع الإصدارات الجديدة التي تقوم بالاستيراد إليها.

خاتمة

تعتبر عملية استيراد وتصدير قواعد البيانات من العمليات الضرورية لأي مطور أو مسؤول قاعدة بيانات. تتيح لك هذه العمليات نقل البيانات بين الخوادم أو إنشاء نسخ احتياطية للبيانات. باستخدام الأدوات المتاحة مثل mysqldump، mysqlimport، أو واجهات المستخدم الرسومية مثل phpMyAdmin، يمكن إدارة هذه العمليات بشكل سهل وفعال.