استيراد قاعدة بيانات كبيرة
استورد قاعدة بيانات أكبر مما يحتمله phpMyAdmin عبر SSH، وماذا تفعل حين لا يكون SSH متاحًا لك.
استورد ملف .sql لا يستطيع phpMyAdmin التعامل معه. ينطبق على الاستضافة
المشتركة والموزِّعة والمميّزة.
يستورد phpMyAdmin عبر متصفحك، فهو محدود بحجم الرفع ومدة التنفيذ. وأي ملف يتجاوز 50 ميغابايت بكثير يميل إلى التوقّف في المنتصف، فتبقى قاعدة بيانات نصف مستوردة — وهو أسوأ من فشل نظيف.
قبل أن تبدأ
تحتاج:
- ملف
.sqlمرفوعًا إلى حسابك، عادةً إلى المجلد الرئيسي. استخدم مدير الملفات أو FTP — راجع رفع الملفات باستخدام FileZilla. - قاعدة بيانات فارغة قائمة ومستخدمًا له صلاحيات عليها. فالاستيراد لا ينشئ واحدة — راجع إنشاء قواعد بيانات MySQL وإدارتها.
- وصول SSH — راجع الاتصال عبر SSH.
الاستيراد عبر SSH
اتصل، ثم شغّل:
mysql -p -u cpaneluser_dbuser cpaneluser_dbname < ~/database.sqlأدخل كلمة مرور مستخدم قاعدة البيانات عند الطلب. والاسمان كلاهما يحمل اسم مستخدم cPanel بادئةً.
ولا يُطبع شيء أثناء التنفيذ. والاستيراد الكبير يستغرق دقائق؛ وعودة موجّه الأوامر هي إشارة انتهائه.
لا تضع كلمة المرور في سطر الأوامر إلا للضرورة — -p'password' دون مسافة.
فهي تنتهي في سجل الأوامر لديك، والأفضل أن يُطلب منك إدخالها.
ملف مضغوط
لا حاجة إلى فكّه أولًا:
gunzip < ~/database.sql.gz | mysql -p -u cpaneluser_dbuser cpaneluser_dbnameتأكّد أنه نجح
mysql -p -u cpaneluser_dbuser cpaneluser_dbname -e "SHOW TABLES;"قارن عدد الجداول بقاعدة البيانات المصدر. فالقائمة القصيرة تعني أن الاستيراد توقّف مبكرًا.
إن لم يكن SSH متاحًا
قسّم الملف بدلًا من ذلك. فمعظم أدوات تصدير قواعد البيانات تستطيع التصدير جدولًا جدولًا، فتستورد كل جزء عبر phpMyAdmin على حدة.
أو اضغط الملف — فـ phpMyAdmin يقبل .sql.gz، والرفع الأصغر كثيرًا ما يمرّ تحت
الحد الذي كان يوقفك.
إن فشل الاستيراد في المنتصف
MySQL server has gone away— تجاوزت عبارة واحدة حد الحزمة، وغالبًا صف كبير جدًا. افتح تذكرة دعم.Access denied— لا صلاحيات للمستخدم على تلك القاعدة. راجع Add User To Database في cPanel.Table already exists— قاعدة البيانات لم تكن فارغة. أسقط الجداول واستورد من جديد؛ فالاستيراد الجزئي لا يمكن استئنافه.