PDA

View Full Version : سوال: خطا هنگام restore كردن ديتابيس



desatir7316
شنبه 19 مهر 1393, 09:52 صبح
سلام دوستان
موقع اي كه مي خوام با دستور source ديتابيسم رو restore كنم تا يه جاهايي پيش ميره و خطاي زير رو ميده:



ERROR 1231 (42000): Variable 'character_set_client' can't be set to the value of
'NULL'
Query OK, 0 rows affected (0.00 sec)

ERROR 1231 (42000): Variable 'collation_connection' can't be set to the value of
'NULL'
mysql>


از دستور mysqldup هم كه استفاده مي كنم اونم تا يه جاي پيش ميره و پيغام زير رو ميده:


ERROR 2006 (HY000) at line 5418: MySQL server has gone away


مشكل كجاست؟

desatir7316
شنبه 19 مهر 1393, 10:27 صبح
بك آپ رو با اين دستور گرفتم درست شد


mysqldump -u root dbname > bkname.sql --hex-blob

desatir7316
یک شنبه 20 مهر 1393, 07:46 صبح
mysqldump -u root dbname > bkname.sql --hex-blob

دوستان كسي مي دونه چطوري مي شه همين مدل بك آپ رو از طريق phpmyadmin بگيرم؟

Unique
یک شنبه 20 مهر 1393, 15:36 عصر
من احتمال میدم شما میخواین backup را از طریق mysqldump روی یک سرور غیر از local بگیرید و چون اینترنتتون قطعی یا کندی داره با خطای MySql Server has gone away روبرو میشین.
در مورد phpmyadmin که backup را بر اساس کد خودش میگیره و بعید میدونم ربطی به mysqldump داشته باشه و اصلا شاید پشتیباین هم نکنه.

راه حل 1 : از اینترنت پر سرعتتر و بهتری استفاده کنید و backup بگیرین.
راه حل 2 : یک vps بگیرین و خودتون با ssh یا php با mysqldump روی خودش backup بگیرین.

desatir7316
یک شنبه 20 مهر 1393, 15:47 عصر
من احتمال میدم شما میخواین backup را از طریق mysqldump روی یک سرور غیر از local بگیرید و چون اینترنتتون قطعی یا کندی داره با خطای MySql Server has gone away روبرو میشین.

از يك سرور به سرور ديگه قرار منتقل شه و هيچكدوم لوكال نيستن، اون پيغام خطا هم هنگام restore داده مي شد كه با اون نوع گرفتن كه دستورشو گذاشتم حل شد
حالا يه سرور ديگه هم هست كه فقط به phpmyadminش دسترسي دارم، به خاطر همين پرسيدم كه چظور ميشه اون دستور رو از طريق phpmyadmin اجرا كرد

alireza.stack
یک شنبه 20 مهر 1393, 20:17 عصر
از يك سرور به سرور ديگه قرار منتقل شه و هيچكدوم لوكال نيستن، اون پيغام خطا هم هنگام restore داده مي شد كه با اون نوع گرفتن كه دستورشو گذاشتم حل شد
حالا يه سرور ديگه هم هست كه فقط به phpmyadminش دسترسي دارم، به خاطر همين پرسيدم كه چظور ميشه اون دستور رو از طريق phpmyadmin اجرا كرد

PHPMyAdmin دستور Export خودشو داره شما نمیتونید کانفیگ کنید، به همین خاطر در فروم های مختلف بخصوص StackOverflow پیشنهاد میشه که از CommandLine استفاده کنید که خیلی سریعتر است.

Unique
یک شنبه 20 مهر 1393, 22:04 عصر
شما توی دستور mysqldump میتونید ip یک سرور غیر لوکال را بدین. من همیشه از روی سیستم خودم database های آنلاین را با mysqldump ازشون backup میگیرم. حتما که نباید روی خود سرور باشین.

desatir7316
شنبه 26 مهر 1393, 11:04 صبح
سلام دوستان
موقع اي كه مي خوام با دستور source ديتابيسم رو restore كنم تا يه جاهايي پيش ميره و خطاي زير رو ميده:



ERROR 1231 (42000): Variable 'character_set_client' can't be set to the value of
'NULL'
Query OK, 0 rows affected (0.00 sec)

ERROR 1231 (42000): Variable 'collation_connection' can't be set to the value of
'NULL'
mysql>


از دستور mysqldup هم كه استفاده مي كنم اونم تا يه جاي پيش ميره و پيغام زير رو ميده:


ERROR 2006 (HY000) at line 5418: MySQL server has gone away


مشكل كجاست؟

بابا بازم اين كه اينجوري شد
يه هفته سالمه يه هفته ...

desatir7316
دوشنبه 28 مهر 1393, 11:16 صبح
دوستان اگه موقع بك آپ گرفتن توي phpmyadmin تيك گزينه Disable foreign key checks رو بزنيم چه اتفاقي مي افته؟ موقع بك آپ كليد هاي خارجي چك نشن تاثير منفي داره؟