Mysql Migration Tool

Questo è un tool molto utile per l'installazione non è ben documentato per riuscirci ho dovuto penare un po', la guida ufficiale è questa
http://dev.mysql.com/doc/migration-toolkit/en/index.html
ma ci sono alcune cose poco chiare che alla fine ti fanno perdere un sacco di tempo.

Installazione

  • non è parte del workbench 5.2 che è l'ultimo disponibile al momento che scrivo quest'articolo, ma bisogna installare la versione 5.0 http://dev.mysql.com/downloads/gui-tools/5.0.html quella che non ha l'installer
  • funziona solo su windows al contrario di quello scritto in alcune parti della guida
  • si deve avere installato dentro windows solo la jre 1.5 a 32 bit. Ci può essere installata un'altra versione di java come jdk perchè lui prende solo la jre. È inutile cercare di settare le var d'ambiente perchè lui prende le cose dai registri.
  • basta decomprimere lo zip scaricato e eseguire MySQLMigrationTool.exe lui fa il controllo all'avvio se trova java tutto a posto altrimenti tornare ai passi precedenti.
  • per trovare gli errori c'è un grtsh.exe che da alcune informazioni

Utilizzo pesante

Quello per cui ho usato questo sistema è l'importazione di un grosso db hsql.
Il migration tool permette di specificare come Generic jdbc il db da aprire e anche di caricarlo lui stesso da file. I parametri da passare oltre a username e passord sono:

org.hsqldb.jdbcDriver

jdbc:hsqldb:C:/data/hsqldb_teamwork
#oppure nell'altro caso
jdbc:hsqldb:hsql://localhost

Ho letto un po' di info interessanti in questa pagina http://ralf.schaeftlein.de/2012/02/18/migrating-hsqldb-to-mysql/ facendo caricare il db da un altro programma java si evita di sovraccaricare il mysql migration tool e farlo andare in heap overspace.
Per farlo ho copiato in una cartella tutti i dati del db hsql, la libraria hsqldb.jar e poi copiato il nome del file di properties che era hsqldb_teamwork in server.properties che è quello di default che legge lui
java -Xmx1500m -cp hsqldb.jar org.hsqldb.Server -database file:hsqldb_teamwork -dbname.0 hsqldb_teamwork

Con java 1.5 a 32 bit non sono riuscito ad eseguire il comando sopra con più di un 1,5 GB di ram invece con java se 1.5 a 64 bit sono riuscito a mettere come parametro -Xmx3000m ed è bastato per caricare i miei 400 MB di script di db.

Attenzione con il migration tool a guardare i log disponibili con il tasto advanced perchè a me andava in out of memory e non si vedeva senza questi log.
Migration tool non permette di impostare la dimensione dello heap a runtime perchè parte l'exe e non prende parametri.

HSQL

Dopo che si è aperto il db si può lanciare il tool grafico si hsql che permette di effettuare sopra diverse operazioni

java -cp hsqldb.jar org.hsqldb.util.DatabaseManagerSwing
Salvo diversa indicazione, il contenuto di questa pagina è sotto licenza Creative Commons Attribution-ShareAlike 3.0 License