web-dev-qa-db-fra.com

Comment déplacer une base de données MySQL vers un autre lecteur?

J'utilise MySQL 5.5 sur une machine locale pour analyser une grande quantité de données gouvernementales. J'ai créé une base de données locale qui réside sur mon lecteur par défaut (lecteur Win7 C:). Je voudrais stocker les données sur mon disque E:, un grand disque externe eSATA.

Quelles mesures dois-je prendre?

38
user1243473
  1. Arrêtez mysql.
  2. Déplacez tous les fichiers de votre répertoire de données actuel vers le nouvel emplacement (vérifiez l'emplacement à l'étape 3 - paramètre datadir).
  3. Localiser my.ini fichier (il se trouve dans le répertoire d'installation de mysql). Modifiez la valeur du paramètre datadir pour pointer vers le nouvel emplacement.
  4. Démarrez mysql.
39
ITCuties

Bien que vous demandiez des fenêtres, ici sont quelques bonnes directions pour ceux qui se retrouvent ici à la recherche de directions linux/ubuntu:

Hypothèses:

  • Vous avez des données mysql sur un disque externe/usb/alternatif /mountpoint/var/lib/mysql, peut-être à partir d'un ordinateur mort ou d'une ancienne installation
  • Vous souhaitez le déplacer localement vers votre nouvelle installation Ubuntu /var/lib/mysql
  • Arrêtez MySQL avec:
    Sudo /etc/init.d/mysql stop.
  • Faites une sauvegarde du répertoire de données MySQL actuel (propre) avec:
    Sudo cp -Rp /var/lib/mysql /var/lib/mysql.backup.
  • Copiez ensuite l'ancien répertoire de données de l'ancien lecteur avec:
    Sudo cp -Rp /mountpoint/var/lib/mysql /var/lib/mysql
    mountpoint est le chemin d'accès au montage.
  • Redémarrez maintenant MySQL avec:
    Sudo /etc/init.d/mysql start

Avec un peu de chance, MySQL devrait redémarrer et vous devriez récupérer vos anciennes bases de données.

Source [email protected]

7
Cyrille

Solution 1:

  1. Tout d'abord, sauvegardez vos données en utilisant `mysqldump.
  2. Si vous installez Mysql Server à partir du package officiel, vous pouvez le faire en exécutant le programme MySQLINstanceConfig.exe à partir du répertoire bin de votre serveur.
  3. Importer des données

MySQLINstanceConfig.exe

Deuxième solution (non recommandée, mais fonctionne sur la même machine)

  1. Arrêtez le serveur Mysql.
  2. Copiez les données de votre répertoire de données vers votre nouveau répertoire
  3. Ouvrez le fichier my.cnf (dans mon cas "C:\ProgramData\MySQL\MySQL Server 5.5\my.ini")
  4. recherchez une ligne comme datadir = "C:\ProgramData\MySQL\MySQL Server 5.5\data \" et changez le chemin vers votre nouvel emplacement
  5. Démarrez votre serveur

Depuis la version 5.6, MySQLInstanceConfig.exe n'est plus distribué. Cette fonctionnalité est remplacée par le programme d'installation. http://bugs.mysql.com/bug.php?id=66306

4
rkosegi

Pour Windows, à partir du MySQL Installer 1.4.6 (2015-04-07) , l'emplacement des données peut être spécifié dans une clé de registre qui spécifie l'emplacement du my.ini, donc si les données ont été initialement installées dans un emplacement autre que par défaut, le my.ini le fichier ne sera pas dans C:\ProgramData\MySQL\MySQL Server x.x\.

L'emplacement des valeurs de registre est (au moins à partir de MySQL 5.6):

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MySQL AB\MySQL Server x.x\

Location est un REG_SZ qui pointe vers le dossier où se trouvent les fichiers d'application MySQL; par défaut: C:\Program Files\MySQL\MySQL Server x.x\

DataLocation est un REG_SZ qui pointe vers le dossier où my.ini est situé; par défaut également: C:\Program Files\MySQL\MySQL Server x.x\

Également my.ini le chemin du fichier est inclus dans la commande de service sous cette clé de registre: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\MySQLXX dans le ImagePathREG_EXPAND_SZ valeur.

La valeur par défaut de cette chaîne est: "C:/Program Files/MySQL/MySQL Server 5.6/bin\mysqld" --defaults-file="C:\Program Files\MySQL\MySQL Server x.x\my.ini" MySQLXX

L'essentiel est donc que pour déplacer des fichiers de données dans ce scénario, vous devez suivre les étapes publiées par @ITCuties avec quelques ajouts.

Voici les étapes complètes:

  1. Arrêtez mysql.
  2. Recherchez la valeur de registre DataLocation ci-dessus pour trouver la my.ini emplacement du fichier, et si vous souhaitez également déplacer le my.ini fichier met à jour le chemin DataLocation et déplace le my.ini fichier vers ce nouveau chemin.
  3. Si vous modifiez l'emplacement du my.ini fichier, vous devez mettre à jour le chemin d'accès dans la clé de registre de commande de service répertoriée ci-dessus.
  4. Ouvrez le my.ini fichier, recherchez le paramètre datadir. Déplacez les fichiers de ce chemin datadir vers le chemin dans lequel vous souhaitez que les données résident, puis mettez également à jour le paramètre datadir avec ce nouveau chemin.
  5. Démarrez mysql.
2
nextgentech