Đị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...
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.comTự động nhảy tớilocalhost: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 đề
- Cơ sở dữ liệu
wp_optionsBảngsiteurlvàhomeThự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.
- 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
mysqldumpHoà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.
- Không nhận khối dữ liệu hoặc
- 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.
- Những quy tắc tái định hướng của môi trường cũ (v. d.
III. Giải pháp trọn vẹn
Giai đoạn 1:
1. Phương pháp 1: Nhận nuôimysqldump 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:
- Thay thế thư viện đầy đủ
localhost:8081Vâng666.comTôi không biết. - Đổi cỡ trang tối đa thành
500chế tạo một mẻ bàn lớn.
- Thay thế thư viện đầy đủ
- 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
// 在 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
- Xác thực hàm
- Truy cập trang cá nhân:
curl -I https://666.comKiểm tra mã trạng thái200Không301/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.
- Truy cập trang cá nhân:
- Comment
- Cấu hình các thiết lập cache ở đây.
- Dùng
docker system pruneXó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ểm | Hiệu suất | Các biện pháp từ chối |
|---|---|---|
| Xung đột quyền truy cập cơ sở dữ liệu | Việ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) |
| Comment | Bố trí trang bị lẫn lộn hoặc chức năng bổ sung là bất thường | Dù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ất | Sao 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
- 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 - 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.
- Đồng bộ hoá dữ liệu tăng dần:
- Dùng
rsyncĐồng bộwp-content/uploads.
- Dùng
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.":
- Sao lưu chuẩn:mix + Data Volume Bảo hiểm kép.
- 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.
- 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.
- 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.