2010-12-15 48 views
60

J'ai un serveur mysql que je gère à distance avec MySQL Workbench.Déplacement de connexions et d'instances entre deux ordinateurs

Maintenant j'ai un nouvel ordinateur et je ne trouve aucune solution pour déplacer mes connexions et mes profils d'instances vers mon nouvel ordinateur. Ce ne peut pas être une question non résolue, hein? Ce n'est pas la première fois que cela arrive pour quelqu'un d'autre.

Correction: Ce ne sont pas les instances de serveur que je veux déplacer. J'ai besoin d'exporter/déplacer/sauvegarder mes nombreux profils-client/connexions-instances dans MySQL Workbench.

Répondre

45

J'ai eu les mêmes questions. J'ai trouvé un répertoire MySQL dans% APPDATA%. Copiez le répertoire entier au même emplacement sur la nouvelle machine. Vous devrez effacer vos mots de passe et les entrer de nouveau. Une fois que je l'ai fait, j'étais de nouveau opérationnel.

Vous pouvez trouver votre dossier% APPDATA% dans Windows en le saisissant dans la barre d'adresse de l'Explorateur Windows.

+6

Vous n'aurez pas besoin du fichier entier, juste connections.xml. Vous devrez toujours entrer à nouveau les mots de passe pour chaque connexion. – Paul

+2

Il ne semble pas que vous ayez besoin de ressaisir les mots de passe dans la version 6.0.8, génial! – DrCord

+1

Windows 7 Emplacement: C: \ Users \ [nom_utilisateur] \ AppData \ Roaming \ MySQL \ Workbench \ ssh – bjtilley

4

il suffit de les copier!

sous Linux, ils sont à $HOME/.mysqlgui/

12

Je l'ai trouvé sur un mac dans /Users/Nom d'utilisateur/Bibliothèque/Application Support/MySQL/Workbench/

fichier appelé connections.xml

+0

Merci! J'ai été capable de copier les connections.xml et server_instances.xml d'un PC à un Mac, et toutes mes connexions du PC étaient alors disponibles sur mon Mac. –

2

Avant de remplacer le connection.xml, assurez-vous de fermer la L'application Workbench en premier, ou l'application écrase/sauvegarde sur le fichier XML en sortie.

6

Dans Linux (Ubuntu), l'emplacement a été changé pour $HOME/.mysql/workbench

testé sur Ubuntu 14.04 LTS.

86

Vous n'avez pas besoin de copier les fichiers manuellement, comme le suggèrent d'autres réponses. Sous Windows et Mac, vous pouvez exporter tous vos paramètres dans MySQL Workbench et les restaurer sur un autre système.

Select Tools > Configuration > Backup Connections 

Ceci sera exporté en tant que .zip. Ensuite, sur votre nouvelle nouvelle installation juste

Select Tools > Configuration > Restore Connections 

Linux MySQL Workbench Backup/Restore Connections

Ca y est!

+4

Merci! Cela devrait être la meilleure réponse! – Prometheus

+2

Certainement devrait être la meilleure réponse. Facile! – Valdogg21

+1

Merci! Meilleure réponse! – Tino

0

Je trouve le fichier "WbProfiles.xml" dans le chemin dossier C: \ Users \ .sqlworkbench \ WbProfiles.xml

Ou copier le fichier ou copie complète ".sqlworkbench" en même chemin dans la nouvelle machine.

3

Sauvegarde et restauration des connexions en utilisant les menus Outils> Configuration> Connexions de sauvegarde et Outils> Configuration> Restauration Connexions est la meilleure façon, mais il ne copie pas les mots de passe.

les mots de passe est Extraction possible dans le cas suivant:

  1. Old PC devrait être une installation de Windows.
  2. Vous devez pouvoir vous connecter à l'aide du compte Windows qui a initialement enregistré les mots de passe dans Workbench, c'est-à-dire sans réinitialiser le mot de passe du compte Windows par un administrateur.

Si les conditions sont remplies, on peut se connecter à l'ancien PC et exécuter l'outil Décrypter trouvé sur http://www.donationcoder.com/forum/index.php?topic=41860.msg391762#msg391762

Le code C++ pour déchiffrer est indiqué ci-dessous (crédits: f0dder)

std::vector<unsigned char> decrypt(BYTE *input, size_t length) { 
     DATA_BLOB inblob { length, input }; 
     DATA_BLOB outblob; 

     if (!CryptUnprotectData(&inblob, NULL, NULL, NULL, NULL, CRYPTPROTECT_UI_FORBIDDEN, &outblob)) { 
       throw std::runtime_error("Couldn't decrypt"); 
     } 

     std::vector<unsigned char> output(length); 
     memcpy(&output[0], outblob.pbData, outblob.cbData); 

     return output; 
}