MySQL Workbench – Cum se clonează o bază de date pe același server cu nume diferit? (Programare, Mysql, Sql, Mysql Workbench)

Daredevil a intrebat.

Folosesc MYSQL Workbench și vreau să clonez o bază de date pe același server cu nume diferit. Ar trebui să dubleze toată structura tabelelor și datele în noua bază de date.

Știu că metoda obișnuită este, probabil, utilizarea data export pentru a genera un script sql al bazei de date și apoi a rula scriptul pe noua bază de date, dar întâmpin unele probleme cu acesta.

În orice caz, există o modalitate mai bună sau mai ușoară de a face acest lucru?

3 răspunsuri
Milosz Bodzek

Puteți utiliza expertul de migrare din MySQL Workbench. Doar alegeți aceeași conexiune locală atât în selecția sursă, cât și în cea țintă, apoi schimbați numele schemei la etapa de editare manuală. Mergeți temeinic până la sfârșit și iată – aveți două baze de date identice cu nume diferite.

Comentarii

  • Nu este foarte util, pentru fiecare tabel trebuie să editez numele schemei. –  > Por m1ld.
  • @m1ld Nu, nu trebuie. Doar editați numele schemei țintă în etapa de editare manuală și ați terminat. –  > Por Alexis Dufrenoy.
  • Este posibil să fie nevoie să faceți clic pe numele db în etapa de editare manuală de mai multe ori până când îl puteți edita –  > Por Ahmed Adaileh.
  • A trebuit să dau un fel de dublu clic și să țin apăsat al doilea clic timp de câteva secunde. Este enervant. –  > Por Daz.
Zaynul Abadin Tuhin
  • Element de listă În primul rând, creați o nouă bază de date utilizând instrucțiunea CREATE DATABASE.
  • În al doilea rând, exportați toate obiectele bazei de date și datele din baza de date din care doriți să copiați folosind instrumentul mysqldump.
  • În al treilea rând, importați fișierul SQL dump în noua bază de date.

Comentarii

  • Am încercat această soluție, dar în ceea ce privește pasul 2, cum emit instrumentul de comandă? –  > Por Daredevil.
  • Am nevoie de o altă modalitate de a face acest lucru -.  > Por Daredevil.
  • Dacă aveți de-a face cu o bază de date uriașă, vă va fi foarte greu cu această procedură. Dacă migrați către o altă bază de date în același server, abordarea de migrare din Workbench funcționează cel mai bine –  > Por Paolo.
Andreas

Am încercat să o fac în MySQL Workbench 8.0. Cu toate acestea, am continuat să primesc o eroare în ceea ce privește coloana-statică. Ideea principală este de a utiliza mysqldump.exe, aflat în directorul de instalare al MySQL Workbench, pentru a exporta datele. Așadar, presupunând o platformă orientată pe Windows:

  1. Deschideți Powershell, , navigați în directorul mysqldump.exe. În cazul meu, comanda este::

                    cd C:Program FilesMySQLMySQL Workbench 8.0 CE
    
  2. Exportați baza de date prin executarea mysqldump furnizând argumentele corecte:

    ./mysqldump.exe --host=[hostServerIP] --protocol=tcp --user=[nameOfUser] --password=[yourPassword] --dump-date=FALSE --disable-keys=FALSE --port=[portOfMysqlServer] --default-character-set=utf8 --skip-triggers --column-statistics=0 "[databaseName]"
    
  3. Fără a schimba directorul, importați fișierul exportat (.sql) folosind următoarea comandă în Powershell:

    Get-Content "[pathToExportedDataFile]" | ./mysql.exe --user=[nameOfUser] --password=[yourPassword] --port=[portOfMysqlServer] --host=[hostServerIP]  --database=[nameOfNewDatabase] --binary-mode=1
    

Puteți verifica în documentație aici pentru mai multe informații referitoare la opțiunile mysqldump.

Vă rugăm să rețineți următoarele:

  • Nu uitați să înlocuiți valorile din [] cu propriile valori și să eliminați []. Nu eliminați ghilimelele(„”) acolo unde acestea sunt prezente.
  • Nu schimbați Powershell pentru cmd sau ceva de genul git-bash, deoarece cele de mai sus nu vor funcționa.
  • În ceea ce privește pasul 3, am creat noua bază de date din MySQL Workbench și apoi am rulat comanda powershell.