2013-12-07 20 views
5

Esiste qualche app per mac per dividere file sql o anche script? Ho un file di grandi dimensioni che devo caricare su hosting che non supporta file di oltre 8 MB.Come dividere sql in MAC OSX?

* Non ho accesso SSH

risposta

9

È possibile utilizzare questo: http://www.ozerov.de/bigdump/

O

Utilizzare questo comando per dividere il file sql

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

Il comando di divisione prende un file e lo spezza in più file. La parte -l 5000 dice di dividere il file ogni cinquemila righe. Il prossimo bit è il percorso del tuo file, e la parte successiva è il percorso in cui vuoi salvare l'output. I file verranno salvati come qualsiasi nome di file specificato (ad esempio "dbpart-") con una combinazione di lettere alfabetiche aggiunta.

Ora dovresti essere in grado di importare i file uno alla volta tramite phpMyAdmin senza problemi.

Maggiori informazioni http://www.webmaster-source.com/2011/09/26/how-to-import-a-very-large-sql-dump-with-phpmyadmin/

+1

Sul mio sistema, 'split' ha anche un flag' -b'. Potresti quindi usare 'split -b 8m' invece di' split -l 5000'. Naturalmente, in entrambi i casi, è necessario concatenare i file sul server, poiché nessuno dei due garantisce che non vengano divisi durante alcuni comandi. –

+0

Grazie Ragazzi, è stato grandioso, ma ho ricevuto un errore "# 1064 - Hai un errore nella sintassi SQL, controlla il manuale che corrisponde alla versione del tuo server MySQL per la sintassi corretta da usare vicino ..." è quello causato perché per la divisione? – user3067592

+0

Sì, come @WaleedKhan Khan menzionato in precedenza che devi controllare di non dividere alcun comando. – souvickcse

3

Questo strumento dovrebbe fare il trucco: MySQLDumpSplitter

E 'libero e open source.

A differenza della risposta accettata a questa domanda, questa app manterrà sempre gli inserti estesi intatti, quindi la forma precisa della query non ha importanza; i file risultanti avranno sempre una sintassi SQL valida.

Full disclosure: Sono un azionista della società che ospita questo programma.

0

È possibile dividere a lavorare con le istruzioni SQL:

csplit -s -f db-part db.sql "/^# Dump of table/" "{99}" 

Che rende fino a 99 file denominati 'db-parte [n]' dal db.sql

È possibile utilizzare "CREATE TABLE" oppure "INSERT INTO" anziché "# Dump of ..."

Inoltre: evitare l'installazione di programmi o il caricamento dei dati in qualsiasi servizio online. Non sai cosa sarà fatto con le tue informazioni!