إحدى المهارات الأساسية والمهمة التي عليك أن تتقنها هي القدرة على استيراد وتصدير قواعد البيانات، إذ تستطيع أخذ نسخ احتياطية لقواعد بياناتك وتستعيدها عند الحاجة، أو يمكنك الاستفادة منها لنقل البيانات إلى خادوم جديد أو بيئة تطوير مختلفة.
إجراء عملية تصدير من قواعد بيانات MySQL و MariaDB هو أمرٌ بسيطٌ، وسنشرحه في هذا الدرس إضافةً إلى شرح طريقة استيراد النسخة الاحتياطية.
المتطلبات المسبقة
لتصدير أو استيراد قواعد بيانات MySQL ستحتاج إلى:
- وصول إلى خادوم لينكس يستعمل قواعد بيانات MySQL أو MariaDB.
- قاعدة بيانات مع معلومات المستخدم القادر على إجراء عمليات عليها.
تصدير قاعدة البيانات
تُستعمَل الأداة mysqldump
لتصدير قواعد البيانات إلى ملفات SQL نصية، ويمكن بسهولة نقل تلك الملفات كيفما تشاء.
ستحتاج إلى معرفة اسم قاعدة البيانات نفسها وإلى اسم المستخدم وكلمة المرور لحسابٍ يملك امتيازاتٍ تسمح –على الأقل– بأذونات القراءة الكاملة على قاعدة البيانات.
استعمل الأمر الآتي لتصدير قاعدة البيانات:
mysqldump -u username -p database_name > data-dump.sql
-
username
هو اسم المستخدم الذي يستطيع الوصول إلى قاعدة البيانات -
database_name
هو اسم قاعدة البيانات التي نريد تصديرها -
data-dump.sql
هو مسار الملف الذي نريد حفظ مخرجات عملية التصدير إليه
لن يعرض الأمر السابق أيّة مخرجات مرئية، لكن يمكنك النظر في محتويات الملف data-dump.sql
لتتأكد من وجود ملف SQL سليم فيه باستعمال الأمر:
head -n 5 data-dump.sql
يجب أن تبدو المخرجات (التي تظهر أوّل خمسة أسطر من الملف) كما يلي، يجدر بالذكر أنَّ الملف الآتي هو ناتج عملية تصدير قاعدة بيانات باسم database_name
:
-- MySQL dump 10.13 Distrib 5.7.16, for Linux (x86_64)
--
-- Host: localhost Database: database_name
-- ------------------------------------------------------
-- Server version 5.7.16-0ubuntu0.16.04.1
إذا حدثت أيّة أخطاء أثناء عملية التصدير، فسيعرضها mysqldump
على الشاشة مباشرةً.
استيراد قاعدة البيانات
لاستيراد ملف SQL مُصدَّر إلى قاعدة بيانات MySQL أو MariaDB، فعليك أولًا إنشاء قاعدة بيانات جديدة التي ستستضيف البيانات المستوردة.
سجِّل دخولك إلى عميل قواعد البيانات بحساب المستخدم root
أو أي حساب آخر له امتيازات كافية لإنشاء قواعد بيانات جديدة:
mysql -u root -p
ستنتقل الآن إلى سطر الأوامر الخاص بقواعد MySQL، أنشِئ الآن قاعدة بيانات جديدة وليكن اسمها new_database
:
CREATE DATABASE new_database;
يجب أن تشاهد الناتج الآتي الذي يدل على نجاح إنشائها:
Query OK, 1 row affected (0.00 sec)
اخرج الآن من عميل MySQL بكتابة الأمر exit
أو بالضغط على الزرين Ctrl+D، وبعد عودتك إلى سطر الأوامر ستستطيع استيراد الملف باستخدام الأمر الآتي:
mysql -u username -p new_database < data-dump.sql
-
username
هو اسم المستخدم الذي يستطيع الوصول إلى قاعدة البيانات -
new_database
هو اسم قاعدة البيانات التي نريد استيراد البيانات إليها -
data-dump.sql
هو مسار الملف الذي نريد استيراد محتوياته
لن تظهر أية مخرجات إذا نجح تنفيذ الأمر السابق، لكن إن حدثت أخطاء خلال العملية فسيظهرها الأمر mysql
على الشاشة.
يمكنك التأكد من استيراد قاعدة البيانات بتسجيل الدخول إلى عميل MySQL مجددًا وتفحص البيانات، يمكن فعل ذلك بتحديد قاعدة البيانات الجديدة عبر USE new_database
ثم كتابة الأمر SHOW TABLES;
أو ما شابهه.
الخلاصة
أصبحت تعلم كيف تصدِّر قواعد بيانات MySQL إلى ملفات وكيف تستوردها مجددًا.
هنالك خياراتٌ أخرى متاحةٌ للأمر mysqldump
التي تُعدِّل سلوك هذا الأمر عند تصدير قواعد البيانات، والتي يمكنك التعرف عليها في صفحة التوثيق الرسمي.
ترجمة –وبتصرّف– للمقال How To Import and Export Databases in MySQL or MariaDB لصاحبه Mateusz Papiernik
أفضل التعليقات
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.