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 souhaite stocker les données sur mon lecteur E:, un grand lecteur externe eSATA.
Quelles mesures dois-je prendre?
Réponses:
datadir
Paramètre).my.ini
fichier (il se trouve dans le répertoire d'installation de mysql). Modifiez ladatadir
valeur du paramètre pour pointer vers le nouvel emplacement.la source
/
et non comme séparateurs de répertoire dans le chemin de répertoire pourdatadir
. J'utilise WAMPserver sur Windows 10.Bien que vous demandiez des fenêtres, voici quelques indications utiles pour ceux qui se retrouvent ici à la recherche d’instructions linux / ubuntu:
Hypothèses:
/mountpoint/var/lib/mysql
, peut-être à partir d'un ordinateur mort ou d'une ancienne installation/var/lib/mysql
Source [email protected]
la source
Solution 1:
Deuxième solution (non recommandé, mais fonctionne sur la même machine)
A partir de la version 5.6, MySQLInstanceConfig.exe n'est plus distribué. Cette fonctionnalité est en train d'être remplacée par le programme d'installation. http://bugs.mysql.com/bug.php?id=66306
la source
[ERROR] Cannot find or open table <db>/<table> from the internal data dictionary of InnoDB though the .frm file for the table exists.
. Comment puis-je m'assurer que les autorisations sont définies correctement?Pour Windows, à partir du programme d' installation MySQL 1.4.6 (2015-04-07) , l'emplacement des données peut être spécifié dans une clé de registre spécifiant l'emplacement du
my.ini
fichier. Ainsi, les données ont été initialement installées dans un emplacement autre que celui par défaut. lemy.ini
fichier ne sera pasC:\ProgramData\MySQL\MySQL Server x.x\
.L'emplacement des valeurs du registre est (au moins à partir de MySQL 5.6):
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MySQL AB\MySQL Server x.x\
Location
est unREG_SZ
fichier qui pointe vers le dossier où se trouvent les fichiers de l'application MySQL; par défaut:C:\Program Files\MySQL\MySQL Server x.x\
DataLocation
est unREG_SZ
qui pointe vers le dossier oùmy.ini
se trouve; par défaut aussi:C:\Program Files\MySQL\MySQL Server x.x\
De plus, le
my.ini
chemin du fichier est inclus dans la commande de service sous cette clé de registre:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\MySQLXX
dans laImagePath
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 postées par @ITCuties avec quelques ajouts.
Voici les étapes complètes:
DataLocation
valeur de registre ci-dessus pour trouver l'my.ini
emplacement du fichier actuel et, si vous souhaitez également déplacer lemy.ini
fichier, mettez à jour leDataLocation
chemin et déplacez lemy.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, localisez ledatadir
paramètre. Déplacez les fichiers de cedatadir
chemin vers le chemin dans lequel vous voulez que les données résident, puis mettez également à jour ledatadir
paramètre avec ce nouveau chemin.la source