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?
datadir
).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.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:
/mountpoint/var/lib/mysql
, peut-être à partir d'un ordinateur mort ou d'une ancienne installation/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
où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.
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
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 ImagePath
REG_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:
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.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.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.