← Takaisin luetteloon

Paikallinen pilvi: WordPress Migration Full Chain Solutions, Data Backup, Tietokannan palauttaminen, jne.

itadol5j

I Tausta ja keskeiset haasteet

1. Muuttoliike

Paikallinen kehitysympäristölocalhost:8081Muu järjestäjä 666.comTämä edellyttää konttien käyttöönottoa (Docker) ja tietokantojen rajat ylittävää siirtymistä.

2. Keskeiset kysymykset

  • Ensimmäinen sivu hyppääminen epätavallista: vierailut 666.com Siirry automaattisesti localhost:8081koska tietokanta sisältää vanhoja verkkotunnuksia.
  • Tietojen yhdenmukaisuusriski: Docker kontti tiedot eivät ole varmuuskopioita ja siirtymäprosessi voi menettää konfiguraatio tai plugin tiedot.

II. Analyysi perimmäisiä syitä ongelman

  1. Tietokannan vanha verkkotunnus
    • wp_options Taulukko siteurl sekä home kenttä ei ole päivitetty.
    • Artikkelit, metatiedot ja jaksotetut tiedot (esim. valikot, pienet työkalut) sisältävät kovakoodattuja vanhoja osoitteita.
  2. Docker Data Management puuttuu
    • Tietomäärän tai mysqldump Täydellinen varmuuskopio, suorakäsittelysäiliöt, jotka johtavat tietojen peruuttamattomaan katoamiseen.
  3. Palvelimen asetukset
    • Vanhan ympäristön uudelleensääntely (esim. .htaccessEi ole.

III Täysketjuiset ratkaisut

Vaihe 1: Docker Data varmuuskopiointi ja muuttoliike

1. Varmuuskopiointi MySQL-tietokanta Menetelmä 1: Hyväksyminen mysqldump Vie SQL- tiedosto
# 导出数据库(容器内操作)  
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  
Menetelmä 2: Varmuuskopiointi MySQL-datan määrä
# 备份数据卷(宿主机操作)  
docker run --rm -v mysql_data:/source -v /host/backup:/backup alpine tar czf /backup/mysql_data.tar.gz -C /source .  
2. Tuo MySQL-tietokannat tuotantoympäristöön
# 导入 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. Tietojen eheyden validointi
# 检查关键表数据  
docker exec prod-mysql-container mysql -uroot -p123456 -e "USE wordpress; SELECT COUNT(*) FROM wp_posts;"  

Vaihe II: verkkotunnushyppyjen palauttaminen

1. Turvallisuuden korvaava tietokanta vanhat verkkotunnukset Työkalun valinta ja käyttö
  • ParempihakuPoista liitännäinen:
    1. Koko kirjaston korvaaminen localhost:8081 Kyllä 666.comEn tiedä.
    2. Muuta enimmäissivun kokoa 500, erän jalostus suuria taulukoita.
  • Search-Replace-DB-komentorivityökalu:php srdb.cli.php -h localhost -u root -p 123456 -n wordpress -s "localhost:8081" -r "666.com" -g  
2. Voimapäivitys WordPress asetukset
// 在 wp-config.php 中定义绝对域名  
define('WP_HOME', 'https://666.com');  
define('WP_SITEURL', 'https://666.com');  
3. Palvelimen konfiguraatiojäämien puhdistus
  • Poista vanha suuntasääntö:# .htaccess 中删除旧规则
    RewriteRule ^(.*)$ https://localhost:8081/$1 [R=301,L] # 删除此行

Vaihe III: Sertifiointi ja optimointi

  1. Funktiotodentaminen
    • Etusivun käyttö:curl -I https://666.com Tarkista tilan koodi 200 Ei 301/302En tiedä.
    • Tarkistaa satunnaisesti, viittaavatko artikkelit, sivut ja mediatiedostot uusiin verkkotunnuksiin.
  2. Suorituskyvyn optimointi
    • Määrittele Redis- tai Memcached-välimuistitietokannan kysely.
    • Käyttö docker system prune Tyhjentää kuvan virheellisestä säiliöstä.

Toimintariskit ja toimenpiteiden kiertäminen

RiskitilanneSuorituskykyKieltäytymistoimenpiteet
Tietokannan luparistiriitaPakkausten käynnistys epäonnistui, lokivihje evättyYhdenmukaistetaan datakääröjen käyttäjäryhmää ennen varmuuskopiota 999:999(MysQL-oletus)
Sekvensoitu datavaurioSivun ulkoasu on sekava tai liitännäisen toiminnot ovat epänormaalejaKäyttö -g Serialisoitujen tietojen käsittelyn parametrit
Varmuuskopiointitiedosto puutteellinenTuodun kellon rakenne puuttuuTupla varmuuskopiointi (SQL + Data Volume) palauttaa MD5 Hash

V. Saadut kokemukset ja standardointiprosessit

1. Standardoitu siirtymäprosessi

  1. Paikallinen ympäristö:# 备份数据库 + 数据卷  
    docker exec mysql-container mysqldump -uroot -p123456 wordpress > backup.sql  
    docker volume inspect mysql_data > volume_backup.json  
  2. Tuotantoympäristön esikonfigurointi:
    • Luo saman version MySQL kontti etukäteen, asentaa datan tilavuus.
  3. Incremental Data Sync:
    • Käyttö rsync Synkronoi wp-content/uploads .

2. Esimerkki automaattisista käsikirjoituksista

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

Pitkäkestoiset seurantajärjestelmät

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

VI. Lopullinen arvo

Tämän maahanmuuttokäytännön avulla "Containerization WordPress 4-askelmenetelmä.":

  1. Standardoitu varmuuskopio: SQL + Datan määrä kaksinkertainen vakuutus.
  2. Työkalujen kunnostaminen: Turvallisuuden korvaavat tiedot yhdistettynä liitännäisiin ja komentorivityökaluihin.
  3. AtomitodentaminenVaiheistettu tarkistussivut, API, mediaresurssit.
  4. Automaattinen seurantaLokit, terveystarkastukset, säännölliset testit.

Tämä vaihtoehto voisi tarjota yleismallin konttien kuljetusta varten ja vähentää ympäristöeroista johtuvia teknisiä raja-arvoja.