← Tilbake til listen

Lokal til sky: WordPress Migrasjon Full Chain Solutions, Data Backup, Database Restoration, etc.

itadol5j

I. Bakgrunns- og kjerneutfordringer

1. Migrasjonsscene

Lokalt utviklingsmiljølocalhost:8081Andre arrangører 666.comDette innebærer containeriseringsplassering (Docker) og tverrmiljøvandring av databaser.

2. Kjerneproblemer

  • Første side Hopper Uvanlig: besøk 666.com Autojump til localhost:8081fordi databasen inneholder gamle domenenavn.
  • Datakonsistensrisiko: Docker container data er ikke sikkerhetskopiert og migrasjonsprosessen kan miste konfigurasjon eller plugin data.

II. Analyse av årsakene til problemet

  1. Database gammelt domenenavn
    • wp_options Tabell siteurl og home Feltet er ikke oppdatert.
    • Artikler, metadata og sekvenserte data (f.eks. menyer, små verktøy) inneholder hardkodede gamle adresser.
  2. Docker Data Management mangler
    • manglende tilgang til datavolum eller mysqldump Komplett backup, direkte håndtering beholdere som resulterer i et irreversibelt tap av data.
  3. Konfigurasjon av serverinnstilling
    • Omdirigerende regler i det gamle miljøet (f.eks. .htaccessIkke klart.

III. Fullkjedeløsninger

Fase 1: Docker Data Backup og migrasjon

1. Sikkerhetskopiering MySQL-database Metode 1: Adopsjon mysqldump Eksporter SQL-fil
# 导出数据库(容器内操作)  
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  
Metode 2: Sikkerhetskopiering 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. Importer MySQL-databaser til produksjonsmiljøet
# 导入 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. Validering av dataintegritet
# 检查关键表数据  
docker exec prod-mysql-container mysql -uroot -p123456 -e "USE wordpress; SELECT COUNT(*) FROM wp_posts;"  

Fase II: restaurering av domenenavn hopper

1. Sikkerhetsutskifting database gamle domenenavn Verktøyvalg og drift
  • BedreSearchReplace- programtillegg:)
    1. Full utskifting av bibliotek localhost:8081 Ja 666.comJeg vet ikke.
    2. Endre størrelsen på maksimal side til 500, partibehandling av store tabeller.
  • Kommandolinjeverktøy for Søk-Erstat-DB:)php srdb.cli.php -h localhost -u root -p 123456 -n wordpress -s "localhost:8081" -r "666.com" -g  
2. Tving oppdatering WordPress-konfigurasjon
// 在 wp-config.php 中定义绝对域名  
define('WP_HOME', 'https://666.com');  
define('WP_SITEURL', 'https://666.com');  
3. Opprydding av serverkonfigurasjonsrester
  • Fjern gammel orienteringsregel:)# .htaccess 中删除旧规则
    RewriteRule ^(.*)$ https://localhost:8081/$1 [R=301,L] # 删除此行

Fase III: Sertifisering og optimalisering

  1. Funksjonsautentisering
    • Tilgang til hjemmesiden:curl -I https://666.com Sjekk statuskode 200 Ikke 301/302Jeg vet ikke.
    • Sjekker tilfeldig om artikler, sider, mediefiler adresser peker på nye domenenavn.
  2. Utførelsesoptimering
    • Konfigurer spørringen om Redis eller Memcached cache database.
    • Bruk docker system prune Fjerner bildet av den ugyldige beholderen.

Driftsrisiko og omgåelse

RisikosceneYtelseAvslagstiltak
DatabasetilgangskonfliktOppstart av pakke mislyktes, logg hint nektetHarmonisere gruppen av brukere av dataruller før sikkerhetskopiering 999:999(MYSQL standard)
sekvensert dataskadeSideutforming er forvirret eller plugin-funksjoner er unormaleBruk -g Parametre for å behandle seriebaserte data
Sikkerhetskopifil ufullstendigDen importerte klokkens struktur manglerDouble Backup (SQL + Data Volume) å gjenopprette MD5 Hash

V. Læringer lærde og standardiseringsprosesser

1. Standardisert migrasjonsprosessen

  1. Lokal miljøsikkerhet:)# 备份数据库 + 数据卷  
    docker exec mysql-container mysqldump -uroot -p123456 wordpress > backup.sql  
    docker volume inspect mysql_data > volume_backup.json  
  2. Forutsetning for produksjonsmiljøet:)
    • Oppretter samme versjon av MySQL-beholderen på forhånd, monterer datavolumet.
  3. Stigende datasynkronisering:)
    • Bruk rsync Sync wp-content/uploads ..

2. Eksempel på automatiserte skript

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

Langvarige overvåkingsmekanismer

  • Loggskjerm:)docker logs -f prod-mysql-container | grep -E "ERROR|WARNING"  
  • Helsekontroll:)curl -s https://666.com/health-check | grep "OK"  

VI. Sluttverdi

gjennom denne migrasjonspraksisen, " Innhold WordPress 4-trinns metode.":)

  1. Standardisert sikkerhetskopiering: SQL + Data Volume dobbeltforsikring.
  2. Verktøyrehabilitering: Sikkerhetserstatningsdata kombinert med plugins og kommandolinjeverktøy.
  3. Atomisk autentiseringFasifiserte sjekksider, API, medieressurser.
  4. Automatisk overvåkingLogger, helsekontroll, regelmessige tilbakerullingsprøver.

Dette alternativet kan gi en generisk mal for transport av beholdersøknader og redusere tekniske terskelverdier som følge av miljøforskjellene.