Limitare query INSERT da SSH

Aperto da Flavio93Zena, Martedì - 18 Ottobre 2022 - 07:18

0 Utenti e 1 Visitatore stanno visualizzando questa discussione.

Flavio93Zena

Ciao!
Ho un database molto grosso da esportare (2gb senza log_search_words) e PhpMyAdmin fallisce l'export sempre e comunque.
Ho pertanto la necessità di farlo tramite SSH. Fin qui nessun problema, posso fare due cose così:
mysqldump --no-data db_name > export.sql
mysqldump --no-create-info --ignore-table=db_name.table_name db_name >> export.sql
Ma per importarlo diventa un casino, il file è troppo grande per qualsiasi host fondamentalmente, oltre a creare seri problemi di spazio.
Ho trovato https://www.ozerov.de/bigdump/ che ho già utilizzato in passato e funziona benissimo per bypassare la cosa, ma non digerisce le query insert giganti (mi pare non oltre 3000 righe e il default è 50000 su PhpMyAdmin). La domanda dunque è - come faccio a limitare le query per l'insert agendo da SSH e non da PhpMyAdmin? Non trovo assolutamente nulla al riguardo che citi espressamente il numero delle righe e non altri parametri.
Grazie in anticipo.

P.S.: MySQL Version (del server origine) 5.7.40

emanuele

L'unico "limite" che puoi imporre è non usare multi-insert at all, quindi una linea per insert (che nel caso di dump è indubbiamente più sicuro in termini di compatibilità e flessibilità), quindi:
https://www.google.com/search?client=firefox-b-d&q=mysqldump+single+line+insert

https://stackoverflow.com/questions/12439353/mysqldump-one-insert-statement-for-each-data-row

Prova questo, dovrebbe funzionare. ;)

Flavio93Zena

Ehhhh nì.
Se tolgo insert multipli un database di quelle dimensioni aumenta paurosamente la quantità di overhead, e con essa il tempo di import diventano ore... Per non parlare del fatto che aumenti moltissimo la dimensione del backup stesso, cosa che mi blocca totalmente perchè non "ci sta" nel test server, di sicuro.

emanuele

Se l'import lo fai via ssh la differenza sicuramente c'è, ma non t icambia la vita... :shrugs:
Se poi non hai spazio nel test server.... beh, non è un'ambiente adeguato a testare quello che devi, purtroppo non ci sono molte via di mezzo.

Flavio93Zena

No decisamente non ho SSH su un server di test, a meno di pagare un host completo. SSH non lo danno facilmente :/

Discussioni simili (3)