هل تريد تغيير مستضيفك كيف تمكنك نقل قاعدة بيانات mysql و من ثم إعادة تركيبها في الموقع.
باستخدام telnet
هناك عدد من الطرق التي تستطيع من خلالها نسخ و تركيب قاعدة بياناتك اسهلها باستخدام التلنيت Telnet و استخدام امر mysql_dump ليفوم بنقل جميع البيانات في ملف واحد و نقوم بحفظة في جهازك ملف .
للنسخ
استخدم الجملة التالية للنسخ
mysqldump -u [username] -p [password] [databasename] > [backupfile.sql] |
[username] : اسم المستخدم الخاص با
[password] : كلمة المرور للقاعدة
[databasename] : اسم القاعدة التي تريد عمل نسخ لها
[backupfile.sql] اسم الملف الذي ستتخزن فيه القاعدة
و الملف سيحتوي على جميع الإستعلانات اللازمة لإنشاء الجدول و إضافة البيانات
مثلا لو كان لدينا قاعدة بيانات اسمها drnet و اسم المستخدم admin و كلمة المرور admin123 و اسم الملف الذي نريد ان ينشأه و يخزن فيه mydb.sqlسيكون الكود كالتالي
mysqldump -u admin -p admin123 drnet >mydb.sql |
نسخ جدول معين و ليس كل القاعدة
mysqldump -u [username] -p [password] [databasename] [table1 table2 ....]> [backupfile.sql] |
[table1] : اسم الجدول و نضع اسماء الجداول مفضولة بمسافة
أكثر من قاعدة
إذا كنت تريد نسخ أكثر من قاعدة واحدة عليك استخدام التالي
mysqldump -u [username] -p [password] --databases [db1,db2.........] > [backupfile.sql] |
نستخدم --databases و نتبعه بأسماء قواعد البيانات مفصولة بمسافة
نسخ كل القواعد
بجملة بسيطة تستطيع نسخ كل قواعد البيانات لديك
mysqldump --all-databases> alldatabases.sql |
نسخ فقط تصميم الجدول Structure
نسخ فقط تصميم الجدول من غير البيانات
mysqldump --no-data --databases db1 db2 db3 > structurebackup.sql |
ضغط ملف قاعدة البيانات باستخدام الكود
قد تكون قاعدة بياناتك كبيرة ستحتاج لضغط الملف لتسرع عملية التحميل استخدم أي من الأسطر السابقة و اتبعها ب
| bzip2 -c >databasebackup.sql.bz2
| gzip >databasebackup.sql.gz |
مثلا
mysqldump --all-databases | bzip2 -c >databasebackup.sql.bz2
mysqldump --all-databases | gzip >databasebackup.sql.gz |
الملفات التي سننشأه سواء كانت نصية أو مضغوطة ستجدها مخزنة في المجلد الرئيسي في موقعك و من ثم يمكنك نقلها إلى جهازك
إعادة تركيب قاعدة mysql بعد نسخها
لإعادة التركيب نستخدم
mysql -u [username] -p [password] [database_to_restore] |
[username]:اسم المستخدم للقاعدة
[password]: كلمة المرور
[database_to_restore] : اسم قاعدة البيانات التي نريد للبيانات الجديدة أن تظهر فيها
[backupfile] : اسم الملف و يجب ان تنقله إلى المجلد الرئيسي في موقعك ليسحب من هناك
الملفات المضغوطة
gunzip < filename.sql.gz | mysql -u username -p password dbname |
username : اسم المستخدم
password : كلمة المرور
dbname : اسم القاعدة
filename.sql.gz : اسم الملف
وبالتوفيق