Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [MySQL] Copia di un dabase e sua semplice rielaborazione

    Ho la necessità di avere una copia di uno stesso database ed uno dei due non deve contenere una certa tabella; per il resto i due database sono perfettamente identici.
    Con Microsoft SQLServer ottenevo tale risultato in questo modo, forse un po' contorto :
    1) facevo un backup del database "originale"
    2) facevo un restore dello stesso e nell'istruzione specificavo il nuovo nome
    RESTORE DATABASE NuovoNome FROM ...
    3) accedevo al database NuovoNome
    4) facevo le modifiche necessarie (DROP TABLE ...)
    5) a questo punto ero in grado di creare un backup del database NuovoNome.
    Funzionava tutto egregiamente !
    Adesso con MySQL vorrei ripetere lo stesso procedimento, non avendone trovato uno migliore, ma il punto 2) non produce il risultato desiderato nel senso che con WorkBench non trovo, nell'elenco dei db, il database NuovoNome.
    1) C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqldump.exe" -uroot -ppassword NomeDataBase > \\SERVER\Archivi\NuovoNome.sql
    2) C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql.exe" -uroot -ppassword NuovoNome < \\SERVER\Archivi\NuovoNome.sql
    Il punto 1 crea effettivamente il backup NuovoNome.sql ma ovviamente in punti 3, 4 e 5 non possono essere eseguiti; questo però non sarebbe un problema in quando ritengo di essere pienamente in grado di farlo.
    Dove sbaglio ?
    C'è qualche modo meno macchinoso per ottenere lo stesso risultato, ossia 2 database lievemente differenti ?
    Grazie per l'attenzione.

  2. #2
    puoi ovviamente automatizzare solo la prima parte (la clonazione https://www.google.com/search?q=mysql+clone+database) : nessun tool potrà mai sapere quali modifiche intendi apportare (nel tuo caso, eliminare una tabella)

  3. #3
    Ho lanciato il comando :
    C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqldump.exe -uroot -ppassword dbOriginale | dbNuovoNome
    o
    C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqldump.exe -uroot -ppassword dbOriginale | -uroot -ppassword dbNuovoNome
    ma non sembra mi abbia creato una copia di dbOriginale, copia che successivamente e non automaticamente (ne convengo) devo modificare.
    Per lo meno non lo ritrovo in WorkBenck, dopo opportuno suo refresh e/o riavvio; il db NuovoNome non lo ritrovo neanche nella cartella C:\ProgramData\MySQL\MySQL Server 8.0\Data che contiene il db dbOriginale e gli altri db.

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.