← Quay lại danh sách

Địa phương đến đám mây: WordPress Migration Trích dẫn toàn bộ giải pháp, sao lưu dữ liệu, phục hồi co sở dữ liệu, v.v...

itadol5j

I. nền và các thử thách cốt lõi

Cảnh 1.

Môi trường phát triển cục bộlocalhost:8081Bộ quản lý khác 666.comĐiều này bao gồm việc công cụ hóa (Docker) và việc di chuyển chéo hệ thống dữ liệu.

2. Vấn đề lõi

  • Trang đầu tiên nhảy bất thường: thăm 666.com Tự động nhảy tới localhost:8081vì cơ sở dữ liệu chứa các tên miền cũ.
  • Comment: dữ liệu container Docker không được hỗ trợ và quá trình di trú có thể mất cấu hình hoặc dữ liệu bổ sung.

Phân tích gốc rễ gây ra vấn đề

  1. Cơ sở dữ liệu
    • wp_options Bảng siteurl và home Thực địa không được cập nhật.
    • Các bài học, dữ liệu siêu dữ liệu và chuỗi (v. d., trình đơn, công cụ nhỏ) chứa các địa chỉ cũ đã mã hóa cứng.
  2. Thiếu mất khả năng quản lý dữ liệu Docker
    • Không nhận khối dữ liệu hoặc mysqldump Hoàn toàn sao lưu, trực tiếp xử lý thùng chứa dẫn đến việc mất dữ liệu không thể đảo ngược.
  3. Giao thoa cấu hình máy phục vụ
    • Những quy tắc tái định hướng của môi trường cũ (v. d. .htaccessChưa xong.

III. Giải pháp trọn vẹn

Giai đoạn 1:

1. Phương pháp 1: Nhận nuôi mysqldump Xuất tập tin MIME
# 导出数据库(容器内操作)  
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  
Phương pháp 2:
# 备份数据卷(宿主机操作)  
docker run --rm -v mysql_data:/source -v /host/backup:/backup alpine tar czf /backup/mysql_data.tar.gz -C /source .  
Nhập cơ sở dữ liệu ICC vào môi trường sản xuất
# 导入 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. Kiểm tra toàn bộ dữ liệu
# 检查关键表数据  
docker exec prod-mysql-container mysql -uroot -p123456 -e "USE wordpress; SELECT COUNT(*) FROM wp_posts;"  

Giai đoạn II: phục hồi tên miền

1. Tên miền thay thế cơ sở dữ liệu bảo mật Công cụ chọn và thao tác
  • Bổ sung tìm lại vị trí tốt hơn:
    1. Thay thế thư viện đầy đủ localhost:8081 Vâng 666.comTôi không biết.
    2. Đổi cỡ trang tối đa thành 500chế tạo một mẻ bàn lớn.
  • Công cụ dòng lệnh tìm kiếm:php srdb.cli.php -h localhost -u root -p 123456 -n wordpress -s "localhost:8081" -r "666.com" -g  
2. Ép buộc cấu hình WordPres
// 在 wp-config.php 中定义绝对域名  
define('WP_HOME', 'https://666.com');  
define('WP_SITEURL', 'https://666.com');  
3. Làm sạch phần còn lại cấu hình máy phục vụ
  • Gỡ bỏ quy tắc hướng cũ:# .htaccess 中删除旧规则
    RewriteRule ^(.*)$ https://localhost:8081/$1 [R=301,L] # 删除此行

Giai đoạn III: Phân tích và tối ưu hóa

  1. Xác thực hàm
    • Truy cập trang cá nhân:curl -I https://666.com Kiểm tra mã trạng thái 200 Không 301/302Tôi không biết.
    • Kiểm tra ngẫu nhiên xem bài, trang, tập tin địa chỉ Mạng chỉ tới tên miền mới hay không.
  2. Comment
    • Cấu hình các thiết lập cache ở đây.
    • Dùng docker system prune Xóa ảnh của hộp không hợp lệ

Nguy cơ chiến dịch và sự cắt đứt

Cảnh nguy hiểmHiệu suấtCác biện pháp từ chối
Xung đột quyền truy cập cơ sở dữ liệuViệc khởi chạy gói tin bị lỗi, gợi ý ghi lưu bị từ chốiĐiều chỉnh nhóm người dùng của các cuộn dữ liệu trước khi sao lưu 999:999(mặc định của tôi)
CommentBố trí trang bị lẫn lộn hoặc chức năng bổ sung là bất thườngDùng -g Tham số để xử lý dữ liệu tuần tự
Tập tin sao lưu không đầy đủCấu trúc của đồng hồ nhập khẩu bị mấtSao lưu đôi (CLS + dữ liệu Volume) để phục hồi MD5 H đà

Tiến trình học và chuẩn hóa V.

1. quá trình di trú tiêu chuẩn

  1. Hỗ trợ môi trường cục bộ:# 备份数据库 + 数据卷  
    docker exec mysql-container mysqldump -uroot -p123456 wordpress > backup.sql  
    docker volume inspect mysql_data > volume_backup.json  
  2. Sự sắp xếp trước của môi trường sản xuất:
    • Tạo ra phiên bản tương tự của công-ten-lix trước đó, gắn kết âm lượng dữ liệu.
  3. Đồng bộ hoá dữ liệu tăng dần:
    • Dùng rsync Đồng bộ wp-content/uploads .

2. Ví dụ chữ viết tự động

#!/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  

Cơ chế giám sát lâu dài

  • Bộ theo dõi bản ghi:docker logs -f prod-mysql-container | grep -E "ERROR|WARNING"  
  • Kiểm tra sức khỏe:curl -s https://666.com/health-check | grep "OK"  

VI. Giá trị cuối

Qua cuộc di cư này, "Một phương pháp phối hợp 4 bước.":

  1. Sao lưu chuẩn:mix + Data Volume Bảo hiểm kép.
  2. Phục hồi công cụ: dữ liệu thay thế bảo mật kết hợp với bổ sung và công cụ dòng lệnh.
  3. Xác thực nguyên tửKiểm tra giai đoạn, kết nối, tài nguyên truyền thông.
  4. Bộ giám sát tự độngNhật ký, kiểm tra sức khỏe, kiểm tra lại thường xuyên.

Tùy chọn này có thể cung cấp một mẫu chung cho các ứng dụng công cụ chuyển giao và giảm ngưỡng kỹ thuật do sự khác biệt môi trường gây ra.