Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Mysql win/mac

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    268

    Mysql win/mac

    Ciao a tutti, ho costruito il mio db con workbench su un sistema Mac.
    Dovrei portare il mio db su windows. Come faccio? Basta fare una copia di back up del database sul mac e poi faccio restore su windows? O devo fare qualche altra operazione?

    Scusate l'ignoranza.

    Saluti

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    1,469
    dipende se parliamo di myisam o innodb.

    nel primo caso il metodo "brutale-ma-che-funziona" è fermare i server, copiare i file binari con le tabelle nel nuovo server, avviare il server windows et voilà
    ---
    per innodb potresti tentare la stessa cosa, ma te lo sconsiglio per tutta una serie di motivi sui quali non mi dilungo.
    in questo caso ti serve un dump ASCII (lo puoi fare anche con myisam), del tipo
    mysqldump -uroot -ppasswordroot --opt nome_db >dump.sql

    in windows

    mysql -uroot -ppasswordroot
    create schema nome_db;
    use nome_db;
    source dump.sql;

    -------
    Ci sono dei "ma"
    Il primo è la codifica dei caratteri, dei server, delle tabelle e dei client (!!! sì non è esattamente lineare la gestione in mysql).

    Se hai usato "normali" caratteri, aggiungi in mysqldump un bel
    --default-character-set=latin1, o quello che hai utilizzato.
    Questo è importante per evitare problemi con le accentate, in primo luogo.
    ----
    Altro "ma": i trigger
    Ci sono? se sì->tocca pigliarli e verificare per bene che siano "rinati"
    ----
    Altro ma: le versioni. In generale il restore ASCII funzionicchia... ma non sempre.
    Cerca quindi di avere su windows una versione la più vicina possibile a quella mac (se vuoi evitare rotture di balle).

    Nel caso capitino (le rotture), ti tocca "purgare" il dump di tutta la croppa che mysqldump ci mette (per bloccare gli aggiornamenti blablabla).
    Normalmente (se è un lavoro da fare una-tantum) apro direttamente con notepad++ e "purgo" a mano.
    Altrimenti scriptone awk
    ---
    Altro ma: la dimensione del dump ed il tempo di caricamento con ricreazione degli indici.
    Se supponiamo che il tuo db sia piccolo (piccolo per me vuoi dire fino nella fascia 2-4GB) in generale non hai problemi.

    Se il db è grande il tempo di ricreazione degli indici può diventare notevole; in questo caso ci sono parecchi approcci diversi

    1) dumpare e restorare a "blocchi"
    2) -se hai una macchina con parecchia RAM- creare un ramdisk, spostare lì la cartella dati, importare, bloccare il server, spostare il file binario nella cartella definitiva "fisica", cambiare la cartella dati, riavviare il server
    3) decidere se conviene o meno lasciare attiva la creazione degli indici durante i singoli insert, o farlo alla fine. dipende dalle circostanze; paradossalmente l'opzione B può darti problemi nel caso in cui non hai sufficiente memoria (o equivalentemente le variabili del server mysql non la concedono) per il sort.
    Della serie "talvolta chi va piano va lontano"
    ----
    Riassunto: se il db è piccolissimo [100-300MB], e le versioni di mysql sono molto simili, al 95% ti basta un mysqldump --default-character-set=latin1 blablabla e relativo restore.
    Fine dei problemi.
    Fossi in te comincerei a provare così

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    268
    gentilissimo grazie, nel week end faccio delle prove, se ho problemi ti faccio sapere.

    Cmq il db non è grande forse 10M neache.

    Saluti

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.