→ العودة إلى القائمة

Local to cloud: WordPress Migration Full Chain Solutions, Data backup, Database Restoration, etc.

itadol5j

أولا - الخلفية والتحديات الأساسية

1. Migration scene

بيئة التنمية المحليةlocalhost:8081منظمات أخرى 666.comويشمل ذلك نشر الحاويات (دوكر) ونقل قواعد البيانات عبر البيئة.

2- القضايا الأساسية

  • الصفحة الأولىالزيارات 666.com Autojump to localhost:8081لأن قاعدة البيانات تحتوي على أسماء النطاقات القديمة
  • مخاطر اتساق البيانات: Docker container data are not backed up and the migration process may lose formation or plugin data.

ثانيا - تحليل الأسباب الجذرية للمشكلة

  1. اسم قاعدة البيانات القديمة
    • wp_options الجدول siteurl و home الحقل غير مستكمل.
    • وتحتوي المواد والبيانات الوصفية والبيانات المتعاقبة (مثلاً، السحال، الأدوات الصغيرة) على عناوين قديمة مشفرة.
  2. Docker Data Management Missing
    • عدم اعتماد حجم البيانات أو mysqldump دعم كامل وحاويات مناولة مباشرة تؤدي إلى فقدان لا رجعة فيه للبيانات.
  3. التداول بين الموظفين
    • القواعد التنظيمية للبيئة القديمة (مثلاً) .htaccessغير مسموح

ثالثا - حلول سلسلة كاملة

المرحلة 1: دعم البيانات والهجرة

1 - قاعدة البيانات الخاصة بميسكول المنهجية 1: التبني mysqldump Export SQL File
# 导出数据库(容器内操作)  
docker exec dockerwordpress-db-1 mysqldump -uroot -p123456 --hex-blob --default-character-set=utf8mb4 wordpress > /tmp/backup.sql  

# 复制到宿主机  
docker cp dockerwordpress-db-1:/tmp/backup.sql /host/backup.sql  
Method 2: backup MySQL Data Volume
# 备份数据卷(宿主机操作)  
docker run --rm -v mysql_data:/source -v /host/backup:/backup alpine tar czf /backup/mysql_data.tar.gz -C /source .  
2. Import MySQL database into the production environment
# 导入 SQL 文件(生产环境容器)  
docker cp /host/backup.sql prod-mysql-container:/tmp/backup.sql  
docker exec -i prod-mysql-container mysql -uroot -p123456 wordpress < /tmp/backup.sql  

# 或从数据卷恢复  
docker run --rm -v prod_mysql_data:/target -v /host/backup:/backup alpine tar xzf /backup/mysql_data.tar.gz -C /target  
3 - التحقق من سلامة البيانات
# 检查关键表数据  
docker exec prod-mysql-container mysql -uroot -p123456 -e "USE wordpress; SELECT COUNT(*) FROM wp_posts;"  

المرحلة الثانية: استعادة اسم النطاق

1 - قاعدة بيانات استبدال الأمن اختيار المواد والتشغيل
  • BetterSearchReplace Plugin:
    1. الاستبدال الكامل للمكتبة localhost:8081 نعم 666.comلا أعلم
    2. Resize Maximum Page to 500تجهيز الطاولات الكبيرة
  • أداة لخط قيادة البحث والتطوير:php srdb.cli.php -h localhost -u root -p 123456 -n wordpress -s "localhost:8081" -r "666.com" -g  
2 - تحديث القوة
// 在 wp-config.php 中定义绝对域名  
define('WP_HOME', 'https://666.com');  
define('WP_SITEURL', 'https://666.com');  
3 - تنظيف مخلفات تشكيلة الخواديم
  • إلغاء قاعدة التوجه القديم:# .htaccess 中删除旧规则
    RewriteRule ^(.*)$ https://localhost:8081/$1 [R=301,L] # 删除此行

المرحلة الثالثة: التصديق والتعظيم

  1. المهمة
    • وصول الصفحة الرئيسية:curl -I https://666.com رمز الحالة 200 لا 301/302لا أعلم
    • تحقق عشوائياً مما إذا كانت المقالات والصفحات والملفات الإعلامية تشير إلى أسماء النطاقات الجديدة.
  2. الأداء الأمثل
    • نؤمن بقاعدة بيانات (ريدس) أو (ميمسكيد)
    • الاستخدام docker system prune يزيل صورة الحاوية الباطلة

المخاطر التشغيلية والالتفاف

مشهد الخطرالأداءتدابير رفضية
النزاع في قاعدة البياناتفشل التعبئة، تم رفض تلميح الدخانمواءمة مجموعة مستعملي مجموعات البيانات قبل الدعم 999:999(مقعد MYSQL)
تلف البيانات المتعاقبةتخطيط الصفحات مشوّش أو وظائف البلوغ غير عاديةالاستخدام -g البارامترات اللازمة لتجهيز البيانات المتسلسلة
ملف احتياطي غير مكتملهيكل الساعة المستوردة مفقوددعم مزدوج (SQL + Data Volume) لاستعادة MD5 Hash

خامسا - الدروس المستفادة وعمليات التوحيد

1 - عملية الهجرة الموحدة

  1. دعم البيئة المحلية:# 备份数据库 + 数据卷  
    docker exec mysql-container mysqldump -uroot -p123456 wordpress > backup.sql  
    docker volume inspect mysql_data > volume_backup.json  
  2. سابقة للثقة في بيئة الإنتاج:
    • وتنشئ نفس النسخة من حاوية مايسكل مقدماً، وهي تحمل حجم البيانات.
  3. رمز البيانات الإضافية:
    • الاستخدام rsync الرمز wp-content/uploads .

2 - نموذج النصوص الآلية

#!/bin/bash  
# 备份脚本  
docker exec mysql-container mysqldump -uroot -p123456 wordpress > /backups/wordpress_$(date +%Y%m%d).sql  
tar -czf /backups/mysql_data_$(date +%Y%m%d).tar.gz /var/lib/docker/volumes/mysql_data  

# 恢复脚本  
docker cp /backups/wordpress_20231001.sql prod-mysql-container:/tmp/  
docker exec -i prod-mysql-container mysql -uroot -p123456 wordpress < /tmp/wordpress_20231001.sql  

آليات الرصد الطويلة الأمد

  • مرصد لوغ:docker logs -f prod-mysql-container | grep -E "ERROR|WARNING"  
  • الفحص الصحي:curl -s https://666.com/health-check | grep "OK"  

سادسا - القيمة النهائية

ومن خلال ممارسة الهجرة هذه، "إحتواء الوردة 4 خطوات":

  1. الدعم الموحد: SQL + Data Volume Double Insurance.
  2. إعادة التأهيل: بيانات استبدال الأمن مقترنة بالألوجين وأدوات خط القيادة.
  3. التوثيق الذري(ب) صفحات التحقق التدريجي، (آداب)، موارد وسائط الإعلام.
  4. الرصد الآليفحوصات، فحص صحي، اختبارات عودة منتظمة

ويمكن لهذا الخيار أن يوفر نموذجا عاما لنقل تطبيقات الحاويات وأن يقلل العتبات التقنية الناجمة عن الاختلافات البيئية.