نقل قاعدة بيانات الخلية إلى كمبيوتر آخر [مغلقة]

StackOverflow https://stackoverflow.com/questions/328922

سؤال

ولدي قاعدة بيانات mysql امتلأت وتعمل على النوافذ الكمبيوتر، هل هناك أي وسيلة لنقل قاعدة البيانات إلى كمبيوتر آخر (تشغيل <م> أوبونتو

وعدا ذلك أنا مجرد كتابة script اتخاذ كافة قاعدة البيانات إلى SQL و<م> إدراج على الكمبيوتر الآخر. مجرد محاولة لانقاذ بعض الوقت:)

وشكرا لكم جميعا.

هل كانت مفيدة؟

المحلول

وأداة تتحدث عن وجود بالفعل: mysqldump

وومقالب إلى SQL، والتي يمكنك ثم نسخها إلى الجهاز وإعادة التحميل آخر.

وعلى سبيل المثال:

وعلى مصدر:

mysqldump -u username -p databasename > dumpfile.sql

وثم استخدام بروتوكول نقل الملفات / رسينك / مهما لنقل الملف إلى الجهاز الوجهة، وهناك، إنشاء قاعدة بيانات فارغة لاستيراد وتشغيل:

mysql -u username -p databasename < dumpfile.sql

وستحتاج أيضا إلى إعداد أذونات على أي المستخدمين الذين قد تم نقلها كذلك، لأنها لم تعقد داخل قاعدة البيانات.

وبدلا من ذلك، يمكنك نسخ الملفات من دير بيانات الخلية - ولكن mysqldump أسهل / الطريقة الأكثر موثوقية

.

والجدير بالذكر أن أسماء الجداول قد تصبح قضية حساسة على نظام واحد عندما كانوا ليس على الأصل. ان ذلك يعتمد على التكوين في كلا طرفي - ولا سيما حساسية القضية (أو غير ذلك) من نظام الملفات

نصائح أخرى

وبدلا من تصدير قواعد البيانات واحدا تلو الآخر، يمكنك تصدير كل منهم مع قيادة واحدة. ثم استيرادها. على سبيل المثال.

mysqldump -u username -p --all-databases > c:\alldbs.sql

ملحوظة: أكبر ميزة هي أنك لا تفقد امتيازات المستخدم.

والملفات على القرص هي 100٪ متوافقة بين كافة إصدارات الخلية. عليك أن احترس من حالة أسماء لأنه يهم على يونكس، في حين أنه لا فقط في بعض الأحيان على ويندوز.

وتذكر لوقف الخلية قبل أخذ نسخة. ملفات MYISAM على ما يرام لأخذ نسخة في حين يعمل، ولكن الملفات ك InnoDB ليست آمنة للقيام بذلك حقا ويندوز 'الخلية الافتراضي الملفات ك InnoDB.

كن حذرا مع مجموعات الأحرف عند استخدام mysqldump، خصوصا على النوافذ. أنا أفضل أن بوضوح تعيين محارف يستخدم بلدي ديسيبل واستخدام --result ملف = ملف بدلا من استخدام المشغل> ئلا شيء يصبح المهترئ.

ومن وثائق الخلية: http://dev.mysql.com/doc/refman/5.0 /en/copying-databases.html

shell> mysqldump --quick db_name | gzip > db_name.gz

ونقل الملف الذي يحتوي على محتويات قاعدة البيانات إلى الجهاز الهدف وتشغيل هذه الأوامر هناك:

shell> mysqladmin create db_name
shell> gunzip < db_name.gz | mysql db_name

ويمكنك إجراء نسخة احتياطية باستخدام أي أداة واجهة المستخدم الرسومية، مثل مدير ماي ( HTTP: // dev.mysql.com/downloads/gui-tools/ على ويندوز والكفاءة على تثبيت الخلية المشرف على أوبونتو) أو بريس (<لأ href = "http://www.phpmyadmin.net/home_page/index.php "يختلط =" noreferrer نوفولو "> http://www.phpmyadmin.net/home_page/index.php على ويندوز، والاستعداد تثبيت بريس على أوبونتو)، ومن ثم استعادتها في الكمبيوتر الآخر.

وmysqldump يجب تفريغ بها بشكل صحيح والحفاظ على مجموعة أحرف من أي شيء في قاعدة البيانات. فإنه من المستحسن للانتقال إلى نفس الإصدار من الخلية إذا كنت لا تريد مشاكل.

وملف تنتجها mysqldump هو NOT ملف نصي، على الرغم من المظاهر، لا تحريره مع NOTEPAD.EXE الخ أو عليك في نهاية المطاف في ورطة.

ومقالب تنتجها أدوات واجهة المستخدم الرسومية طرف ثالث، خصوصا بريس، هي غير دقيقة عموما ولن استعادة بالضرورة بشكل صحيح.

وكثيرا ما أجد نفسي باستخدام بعض الاختلاف من هذا بطانة واحد لنسخ قاعدة بيانات عبر الشبكة.

mysqldump --opt --compress --user=username database | mysql --user=username2 --password=p2 --host=hostB -D database -C database

ما قرأت في الأصل عنه هنا:

HTTP: //www.igvita. كوم / 2007/10/10 / التدريب العملي على الخلية النسخ الاحتياطي للهجرة /

ومع طاولة العمل الخلية الجديدة (أداة واجهة المستخدم الرسومية)، يمكنك بسهولة تصدير قاعدة البيانات واستيرادها لقاعدة البيانات التي تريد ترحيل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top