Importeer een zware SQL database in phpMyAdmin

Zoals de titel al omschrijft. Ik ben een WordPress site aan het overzetten van host A naar host B (TransIP). Deze site heb ik niet gemaakt, mijn schatting is dat er ergens tussen 1400 en 1700 items in de database zullen zitten.

 

Waarom de database zo onhandelbaar groot is weet ik nog steeds niet. Het .SQL exportbestand is 116MB gecomprimeerd in .zip formaat. Als ik 'm uitpak is 'ie 2,68GB. Waar dat allemaal in gaat zitten, ik heb geen idee.

 

 

Ik heb de php.ini instellingen van MAMP op extreem breed gezet zodat ik ongelimiteerd ruimte krijg van de server.

 

Toch wil er niets geïmporteerd worden.

 

En het ergste is… Dit is nog in de MAMP omgeving op mijn computer, enkel testen. Ik begrijp heel erg goed dat ze mij bij TransIP never en nooit deze bewegingsruimte gaan geven.

 

 

Wat kan dit zijn en heeft iemand een idee hoe dit op te lossen. Mijn handen zitten in het beton want ik heb zelf geen toegang tot de huidige database om een eigen export te maken. :slightly_frowning_face:

 

Je kan proberen het .sql bestand via SFTP op de server te zetten en vervolgens middels SSH MySQL dit bestand laten importeren. Is over het algemeen sowieso de snelste manier en daarmee omzeil je altijd een PHP timeout.

Ik ken dat :frowning:

Heb je wel toegang tot de huidige WordPress site?

 

@Chorro, @Shmoo is al niet eens in staat om lokaal de database te importeren :frowning:

 

<p class="cite">feek op 28 februari 2020 om 11:49</p> @Chorro, @Shmoo is al niet eens in staat om lokaal de database te importeren:(

 


PHPMyAdmin heeft bepaalde nukken die niet altijd te verklaren zijn, heb dat vaak genoeg meegemaakt. Configuratie die net verschilt met de andere server en MyAdmin zeurt al. Uiteraard goed backuppen, maar SSH klaagt een heel stuk minder en levert mij tot nu toe altijd een keurige import op. Lokaal of niet.

ALs je eens de timeout voor PHP eens groot maakt via php.ini


max_execution_time = 180

En kijk anders eens naar TablePlus, ik heb daar fijne ervaringen mee.

 

En @Chorro heeft me ook weer wat geleerd :wink: . Connect via terminal met jouw MAMP MySQL server


/Applications/MAMP/Library/bin/mysql --host=localhost -uroot -proot

Vervolgens in MySQL

use database  jouw_database_naam

SOURCE /path/to/sql/file.sql

 

 

Kun je op je lokale mysql server iets doen met een client als DBeaver of MySQLWorkbench ipv phpMyAdmin? phpMyAdmin zal in het algemeen wat meer beperkingen hebben, dan een client die met een jdbc of native driver rechtstreeks met de database server communiceert.

Ik heb nergens toegang tot. Ik heb alleen via WeTransfer een kopie van de bestanden (FTP) gekregen + een .SQL export.

 

 

Toen ik de bestanden ging doorpluizen om te kijken waar als die GB’s in gingen zitten zag ik dit tussen de bestanden staan.

 

De oorzaak blijkt een WooCommerce Request Quote plugin te zijn die sinds 5 augustus vorig jaar Errors staat te sturen. A je to!!! ?

 

 

Ik had wel een idee met wat voor kwaliteit ik te maken had maar ik dacht, als ik het eenmaal overgezet heb dan sloop ik die plugin er tussenuit en dan ben ik klaar. Niet te veel doen, alleen overzetten zodat het bedrijf verlost is van de facturen die dit bedrijf stuurt. Dat kunnen ze blijkbaar veel beter dan websites maken.

 

 

Nu was ik op het idee gekomen om het .SQL bestand te splitten.



split -l 5000 ./path/to/mysqldump.sql ./mysqldump/dbpart-


Gewoon ruw in stukjes hakken. Dit gaat natuurlijk nooit werken als import maar je kunt wel een beetje controleren waar het fout gaat.

En dan krijg je dit…

 

 

 

:slightly_frowning_face:? Pang!

 

En als het eenmaal is gelukt jouw database flink opschonen. Ik verwacht dat er heel veel tijdelijke versies van pagina’s in de database staan.

Tja een sql bestand op willekeurige plaatsen splitten gaat zeker niet werken. SQL is uiteindelijk een query language en geen data format. Dus je zult dan op z’n minst moeten splitten tussen de SQL Statements in. Zolang het SQL bestand niet corrupt geraakt is, zou je het wel moeten kunnen importeren op een systeem met voldoende resources. Ik zou dit echt eens met DBeaver/MySQLWorkbench/TablePlus/SQLPro Studio/mysql in een interactive shell proberen op een lokale MySQL of MariaDB server.

Succes!

Probeer het eens met Sequel Pro.

Die heeft geen moeite met grote databases (als dat tenminste het probleem is)

 

 

Sequel Pro is niet meer in ontwikkeling, daar heb ik vorig jaar op school mee gewerkt en toen crashte de app al bij zo’n beetje elke beweging.

 

Eens wat klooien met TablePlus. Please don’t hate me… ? ?

 

 

 

Als het maar eens een gedeelte erin krijgt.

De TablePlus app crashte bij ongeveer 1,8GB geïmporteerd te hebben maar nu zit er wel al iets van data in mijn database.

 

Ik heb dit serieus nog nooit van mijn leven gezien. ?

mssn toch ook maar eens proberen via mijn bovenstaande terminal methode? Je had nog maar 0,8 GB te gaan :slight_smile:

TablePlus is overigens een fijne App! Zeker ten opzichte van Sequel Pro, dat inderdaad niet meer wordt onderhouden en bovendien oneindig vaak crashte!

Ik heb 'm eens aangezet via Terminal.

 

Zal wel een tijdje nodig hebben, dus fiets ik eerst maar eens naar de winkel.

 

Hahaha volgens mij zit het erin. Duurde even.

 

Ik denk dat het gelukt is. Data eindelijk geïmporteerd, thanks voor het wijzen richting Terminal. Ik heb de database opgeschoond, nu ga ik de PHP Errors fixen en dan overzetten. ?

 

Het bestandje is wel ineens handelbaar geworden voor elke webserver.

Dat heb je goed opgeschoond! Kun je ons nog even laten weten welke bulk je hebt kunnen verwijderen? Waren het allerlei logs of oude versies van pagina’s/posts? Of nog iets anders?

Let er ook op dat de indexen goed overgenomen zijn en auto increment. Want anders krijg je straks weer de nodige trammelant. Met dit rukweer is dit een mooie klus.