MySQL er is weinig schijfruimte beschikbaar op Adobe Commerce in de cloud-infrastructuur
Dit artikel biedt oplossingen voor problemen met zeer weinig of geen ruimte voor MySQL op Adobe Commerce op cloudinfrastructuur. Symptomen kunnen plaatsstroomonderbrekingen omvatten, klanten kunnen geen producten aan de kar toevoegen, die niet met het gegevensbestand kunnen verbinden, tot het gegevensbestand ver toegang hebben, die niet SSH in knoop kunnen. Symptomen zijn onder andere Galera, Omgevingssync, PHP, Database en Implementatiefouten, zoals hieronder vermeld. Klik Oplossingom rechtstreeks aan de oplossingssectie te springen.
Betrokken producten en versies
Adobe Commerce op cloudinfrastructuur 2.3.0-2.3.6-p1, 2.4.0-2.4.2
Probleem
De database wordt te groot. De symptomen kunnen onder andere het verlies van de databaseverbinding, de uploadfout voor de database en diverse andere problemen zijn.
Fouten die u kunt tegenkomen:
Galera:
- SQLSTATE [08S01 ]: Communicatie verbindingsmislukking: 1047 WSREP heeft nog geen knoop voor toepassingsgebruik voorbereid de fouten van de Invoer:
- SQLSTATE [HY000 ]: Algemene fout: 1180 kreeg fout 5 "Input/output fout"
- SQLSTATE [08S01 ]: Communicatie verbindingsmislukking: 1047 WSREP heeft nog geen knoop voor toepassingsgebruik voorbereid
Synchronisatiefouten omgeving:
- SQLSTATE: Algemene fout: 1180 kreeg fout 5 "Input/output fout"tijdens BEVEL
PHP-fouten:
- php: BOB::__construct (): MySQL server is weggegaan.
- php fouten: BOB::__construct (): Fout terwijl het lezen van groet pakket. PID=NNNN.
- FOUT 2013 (HY000): Verloren verbinding aan MySQL server bij "lezend aanvankelijk communicatie pakket", systeemfout: 0 "Interne fout/controle (niet systeemfout)".
Database-fouten:
- Fout _code: 1114
- InnoDB: Fout (uit schijfruimte) die woordknoop aan FTS hulpindexlijst schrijft.
- SQLSTATE [HY000 ]: Algemene fout: 2006 MySQL server is weggegaan
- [ERROR] Slave SQL: Fout "De lijst
<table\_name>
is volledig"op vraag. - eenheid mysql.service ingegaan ontbroken staat.
- fout: "Kan niet met lokale MySQL server door middel van contactdoos "/var/run/mysqld/mysqld.sock"verbinden (111 "Verbinding geweigerd")
- 1205 De wachttijd van het Slot overschrijdt; probeer opnieuw beginnend transactie, de vraag was: TUSSENVOEGSEL IN "cron_planning\
(\"baan\_code\
, \ "status\\, \"gepland\_at\
) WAARDEN (?, ?,YYYY-02-07 HH:MM:SS
,YYYY-MM-DD HH:MM:SS
)
Implementatiefouten:
- E: Het bevel '['sudo', '-u',
<environment name>
, 'bash', '-c', '/etc/platform/<environment name>
/post_Implementatie.sh']' keerde niet-nul uitgangsstatus 255 - E: Bevel "['ssh', u
<node IP address>
, "sudo /usr/bin/sv - w 30 herstart plaats-<environment name>
g-nginx ]"teruggekeerde niet-nul - Bevorderend schema… SQLSTATE[HY000]: Algemene fout: 1114 De tabel
<table\_name>
is vol - SQLSTATE[HY000]: Algemene fout: 3 Fout bij het schrijven van bestand./
<environment name>
/# - W:
<filename>
(ErrCode: 28 "Geen ruimte verlaten op apparaat") Indexerende fouten (samen met orphaned tijdelijke.ibd- dossiers in /tmp): - de indexeerder van de Regel van de Catalogus werpt een uitzondering. De tijdelijke lijsten worden niet schoongemaakt in de nasleep en dan de schijf op de huidige MySQL hoofdknoop vullen
Stappen om te reproduceren:
Een van de manieren waarop u kunt controleren of /data/mysql
(of waar MySQL gegevensopslag is geconfigureerd) vol is, is door de volgende opdracht in de CLI uit te voeren:
df -h
Minder dan 10% van het vrije geheugen op MySQL schijf is een primaire indicator van een stroomstoring.
Oorzaak
De hoeveelheid /data/mysql
kan vol worden als gevolg van een aantal problemen, zoals onvoldoende codes, beschikbare opslagruimte en onjuiste query's die tijdelijke tabellen genereren.
Oplossing
Er is een directe stap die u kunt nemen om MySQL weer op de rails te krijgen (of om te voorkomen dat vastloopt): maak ruimte vrij door grote tabellen te spoelen.
Maar een oplossing op lange termijn zou meer ruimte en na beste praktijken van het Gegevensbestandtoewijzen, met inbegrip van het toelaten van de Orde/Factuur/het archieffunctionaliteit van het Verzending.
Hieronder vindt u details over zowel snelle als langetermijnoplossingen.
Inodes controleren en vrijmaken
Zorg ervoor dat er voldoende inodes beschikbaar zijn. Voer hiertoe de volgende opdracht uit:
df -i
De uitvoer ziet er ongeveer als volgt uit:
Filesystem Inodes Used Free Use% Mounted on
/dev/nvme2n1 655360 1695 653665 1% /data/mysql
Controleer of Gebruik % <70% is. De knooppunten zijn gecorreleerd met bestanden. Als u bestanden uit de partitie verwijdert, worden de inodes vrijgemaakt.
Opslagruimte controleren en vrijmaken
Beschikbare opslagruimte controleren. Hiervoor voert u uit:
df -k
De uitvoer zou er ongeveer als volgt uitzien:
Size Used Avail Use% Mounted on·
50G 49G 95M 100% /data/mysql
Als Gebruik % >70% is, moet u actie ondernemen om ruimte vrij te maken/toe te voegen.
Controleren op grote ibtmp1
bestanden
Controleren op groot ibtmp1
bestand op /data/mysql
van elk knooppunt: dit bestand vormt de tabelruimte voor tijdelijke tabellen. Als er ongeldige query's zijn die tijdelijke tabellen genereren, staan deze in het ibtmp1
-bestand. Dit bestand wordt alleen verwijderd wanneer de database opnieuw wordt gestart. Als het alle beschikbare ruimte in beslag neemt, moet de database opnieuw worden gestart. Als er slechte vragen zijn, zal het opnieuw worden ontspannen.
Grote tabellen uitvouwen
Controleer of er grote tabellen zijn en of een van deze tabellen kan worden verwijderd. Doe dit op het primaire (bron) knooppunt.
Tabellen met rapporten kunnen bijvoorbeeld meestal worden verwijderd. Voor details op hoe te om grote lijsten te vinden, zie het Vondst Grote MySQL lijstenartikel.
Als er geen grote rapporttabellen zijn, kunt u _index
-tabellen leegmaken, gewoon om de Adobe Commerce-toepassing weer op schema te krijgen. index_price
-tabellen zijn de beste kandidaten. Bijvoorbeeld catalog_category_product_index_storeX
tabellen, waarin X waarden kan hebben van "1" tot het maximale aantal winkels. Onthoud dat u opnieuw moet indexeren om gegevens in deze tabellen te herstellen. In het geval van grote catalogi kan het veel tijd kosten om de gegevens opnieuw te indexeren.
Wacht tot de software volledig is gesynchroniseerd nadat u deze hebt verwijderd. U kunt steunen nu tot stand brengen en belangrijkere stappen nemen om meer ruimte toe te voegen, als het toewijzen van/het kopen van meer ruimte en het toelaten van 🔗 functionaliteit van het archiefarchief 0} van de Orde/van de Rekening/van de Verzending.
Instellingen voor binaire logboekregistratie controleren
Controleer de binaire logboekinstellingen voor de MySQL server: log_bin
en log_bin_index
. Als de instellingen zijn ingeschakeld, kunnen de logbestanden enorm worden. creeer een steunkaartjeverzoekend om grote binaire logboekdossiers te zuiveren. Ook, verzoek om te controleren dat het binaire registreren correct wordt gevormd zodat de logboeken periodiek worden gezuiverd en niet teveel ruimte nemen.
Als u geen toegang hebt tot MySQL -serverinstellingen, vraagt u om ondersteuning om deze te controleren.
Meer ruimte toewijzen/kopen
Wijs meer schijfruimte toe voor MySQL als u wat ongebruikte hebt. Zie het de grens van de schijfruimte van de Controleartikel leren hoe te om te controleren als u vrije schijfruimte hebt.
- Voor het plan van de Aanzet, alle milieu's, en de milieu's van de Integratie van het Pro plan, kunt u de schijfruimte toewijzen als u wat ongebruikt hebt. Voor details, zie meer ruimte voor MySQL toewijzen.
- Voor Pro plan het Opvoeren en de milieu's van de Productie, contactsteunom meer schijfruimte toe te wijzen als u wat ongebruikt hebt.
Als u uw ruimtelimiet hebt bereikt en nog steeds weinig ruimte hebt, kunt u overwegen meer schijfruimte te kopen. Neem contact op met het accountteam van de Adobe voor meer informatie.
Gerelateerde lezing
Beste praktijken voor het wijzigen van gegevensbestandlijstenin het Playbook van de Implementatie van Commerce