Internal To load: WordPresmuration Full Chain Resords, สํารองข้อมูลข้อมูล, ซ่อมแซมฐานข้อมูล เป็นต้น
I. พื้นหลังและความท้าทายหลัก
1. ฉากการย้ายที่
สภาพแวดล้อมการพัฒนาท้องถิ่นlocalhost:8081ผู้ประสานงานอื่น 666.comนี่เกี่ยวข้องกับการใช้งานการบรรจุบรรจุอุปกรณ์ (โดกเกอร์) และการย้ายฐานข้อมูลแบบข้ามสายพันธุ์
2. ปัญหาหลัก
- การข้ามหน้าแรกการ เยี่ยม:
666.comกระโดดอัตโนมัติไปยังlocalhost:8081เพราะฐานข้อมูลมีชื่อโดเมนเก่า - ความเสี่ยงความสอดคล้องกันของข้อมูล▪ ข้อมูลตู้คอนโทรลไม่ถูกสํารองข้อมูล และโพรเซสการอพยพอาจสูญเสียค่าปรับแต่งหรือข้อมูลส่วนเสริม
การ วิเคราะห์ ต้น เหตุ ของ ปัญหา
- ชื่อโดเมนของฐานข้อมูล
wp_optionsตารางsiteurlถึงhomeสนามยังไม่ปรับปรุง- บทความ, ข้อมูลกํากับ และลําดับข้อมูล (เช่น เมนู, เครื่องมือขนาดเล็ก) มีที่อยู่เก่าที่เข้ารหัสไว้ยาก
- การจัดการข้อมูลดอกเกอร์หายไป
- ล้มเหลวในการรับข้อมูลระดับเสียงหรือ
mysqldumpการสํารองข้อมูลที่สมบูรณ์ ภาชนะบรรจุการจัดการโดยตรงส่งผลให้สูญเสียข้อมูลที่ย้อนกลับไม่ได้
- ล้มเหลวในการรับข้อมูลระดับเสียงหรือ
- การเชื่อมต่อค่าปรับแต่งของเซิร์ฟเวอร์
- กฎ ควบคุม สิ่ง แวด ล้อม เก่า (เช่น
.htaccessยังไม่เคลียร์
- กฎ ควบคุม สิ่ง แวด ล้อม เก่า (เช่น
3 วิธีแก้ปัญหาแบบเต็มกําลัง
ระยะที่ 1: Doker ข้อมูลสํารองข้อมูลและการย้าย
1. สํารองข้อมูลฐานข้อมูล MySQL วิธีการ 1: การรับบุตรบุญธรรมmysqldump ส่งออกเป็นแฟ้ม SQL
# 导出数据库(容器内操作)
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
วิธีการ 2: สํารองข้อมูล MySQL ระดับเสียง
# 备份数据卷(宿主机操作)
docker run --rm -v mysql_data:/source -v /host/backup:/backup alpine tar czf /backup/mysql_data.tar.gz -C /source .
2. นําเข้าฐานข้อมูล MySQL ไปยังสภาพแวดล้อมการผลิต
# 导入 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. รักษาความปลอดภัย เครื่องมือการเลือกและดําเนินการ- ส่วนเสริมการค้นหาตําแหน่งดีกว่า.
- การแทนที่ไลบรารีเต็มรูปแบบ
localhost:8081ใช่666.comฉันไม่รู้ - ปรับขนาดหน้าสูงสุดไปยัง
500การประมวลผลของตารางขนาดใหญ่
- การแทนที่ไลบรารีเต็มรูปแบบ
- เครื่องมือสําหรับค้นหาในบรรทัดคําสั่ง DB.
php srdb.cli.php -h localhost -u root -p 123456 -n wordpress -s "localhost:8081" -r "666.com" -g
// 在 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] # 删除此行
เฟสที่ 3 : การจัดลําดับและการปรับปรุง
- การตรวจสอบสิทธิ์ของฟังก์ชัน
- เข้าถึงหน้าหลัก:
curl -I https://666.comตรวจสอบรหัสสถานะ200ไม่301/302ฉันไม่รู้ - ตรวจสอบอย่างสุ่มว่า ข่าว, หน้า, ที่อยู่ URL ของสื่อ ชี้ไปที่ชื่อโดเมนใหม่หรือไม่
- เข้าถึงหน้าหลัก:
- การปรับค่าความชื่นชอบ
- ปรับแต่งการค้นหาฐานข้อมูลแคชของ Redis หรือ mempced
- ใช้
docker system pruneล้างภาพจากกล่องที่ใช้ไม่ได้
ความ เสี่ยง ใน การ ดําเนิน งาน และ การ หลีก เลี่ยง
| ภาพเสี่ยง | ประสิทธิภาพ | การ วัด ความ รู้สึก |
|---|---|---|
| ขัดแย้งกับสิทธิ์ในการใช้ฐานข้อมูล | การจัดการการเริ่มงานล้มเหลว, การให้คําใบ้ของปูมบันทึกถูกปฏิเสธ | เรียกข้อมูลกลุ่มผู้ใช้ก่อนการสํารองข้อมูล 999:999(ค่าปริยาย) |
| เพิ่มความเสียหายของข้อมูล | การจัดวางหน้ากระดาษสับสน หรือฟังก์ชันของปลั๊กอินผิดปกติ | ใช้ -g พารามิเตอร์ต่าง ๆ ที่จะประมวลผลข้อมูลแบบต่อเนื่อง |
| แฟ้มสํารองข้อมูลยังไม่สมบูรณ์ | โครงสร้างนาฬิกานําเข้าหายไป | สํารองข้อมูลคู่ (SQL + ระดับเสียงข้อมูล) เพื่อเรียกคืนข้อมูล MD5 Hash |
บทเรียนวี และกระบวนการมาตรฐาน
1. กระบวนการอพยพมาตรฐาน
- สํารองข้อมูลสภาพแวดล้อมภายใน.
# 备份数据库 + 数据卷
docker exec mysql-container mysqldump -uroot -p123456 wordpress > backup.sql
docker volume inspect mysql_data > volume_backup.json - การกําหนดสภาพแวดล้อมการผลิตล่วงหน้า.
- สร้างตู้ MySQL รุ่นเดียวกันล่วงหน้า เพิ่มปริมาณข้อมูล
- ปรับเทียบข้อมูลภายนอก.
- ใช้
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"
วี. ค่าสุดท้าย
ผ่านการฝึกอพยพครั้งนี้ "วิธีการประกอบคํา prests 4 ขั้นตอน"..
- สํารองข้อมูลมาตรฐานSQL + ข้อมูล ประกันภัยคู่
- ปรับปรุงเครื่องมือ: ข้อมูลที่แทนที่ความปลอดภัย รวมกับส่วนเสริมและเครื่องมือบรรทัดคําสั่ง
- การตรวจสอบสิทธิ์ของอะตอมChecked Check หน้า, API, ข้อมูลสื่อ.
- การติดตามอัตโนมัติล็อก,เช็คสุขภาพ,ตรวจการถอนเงินปกติ
ตัวเลือกนี้จะทําให้มีแม่แบบทั่วไปสําหรับการขนส่งโปรแกรมการจัดเก็บและลดข้อจํากัดทางเทคนิคที่เป็นผลมาจากความแตกต่างทางสิ่งแวดล้อม