J'ai installé le serveur mysql 5.6.24 sur Windows Server 2012 R2.
J'ai importé des fichiers de vidage et les fichiers de données sont stockés dans C:\ProgramData\MySQL\MySQL Server 5.6\data
Je veux changer de répertoire comme D:\ProgramData\Data
.
Pouvez-vous m'aider, s'il vous plaît?
Ouvrez Windows CLI en tant qu'administrateur et arrêtez MySQL
net stop mysql
Copiez les données dans D:\ProgramData\Data
xcopy /s C:\ProgramData\MySQL\MySQL Server 5.6\data D:\ProgramData\Data
Créez ou modifiez C:\ProgramData\MySQL\MySQL Server 5.6\my.ini
Ajoutez ceci au my.ini
[mysqld]
datadir = D:/ProgramData/Data
Démarrage MySQL
net start mysql
Si vous ne pouvez pas exécuter net start mysql
, essayez le panneau de configuration de Windows.
Connectez-vous à MySQL et vérifiez que tout va bien
Lorsque vous vous connectez à MySQL, exécutez ceci
mysql> SHOW GLOBAL VARIABLES LIKE 'datadir';
N'oubliez pas de donner à votre nouveau répertoire de données les mêmes autorisations complètes pour les utilisateurs Service résea et Administrateur que le répertoire de données par défaut utilisait, sinon cela provoquera le redouté "démarré puis arrêté "erreur. Ne supprimez pas ce répertoire tant que vous n'êtes pas sûr que votre nouveau fonctionne.
Si cela ne fonctionne pas, voici le plan de restauration:
net stop mysql
del "C:\ProgramData\MySQL\MySQL Server 5.6\my.ini"
net start mysql
Ajout d'une réponse actuelle pour le serveur MySQL 8.0 sur Windows 10 pour savoir comment changer le répertoire de la base de données après l'installation (je l'ai cherché sur Internet et je n'ai pas trouvé de solution et j'ai failli devenir fou, alors j'espère que cela aide quelqu'un).
Les premières étapes sont les mêmes que dans les autres instructions habituelles pour MySQL Server 5.6. La seule différence est fondamentalement la 3e étape:
Accédez aux services (par exemple, appuyez sur WIN + R, tapez services.msc
, appuyez sur Entrée) et arrêtez le MySQL80
service via un clic droit et en cliquant sur 'stop' (le nom du service est spécifié lors de l'installation, donc le nom peut être différent pour vous).
Déplacez le dossier de la base de données où vous le souhaitez. L'emplacement initial est généralement C:\ProgramData\MySQL\MySQL Server 8.0\data
. À l'intérieur de C:\ProgramData\MySQL\MySQL Server 8.0\
folder, il devrait y avoir un my.ini
fichier. Ouvrez-le pour le modifier avec Notepad ++ (ou un autre bloc-notes) et recherchez les lignes qui mentionnent l'ancien emplacement sous une forme quelconque. Il doit y avoir deux occurrences (une pour datadir
, une pour secure-file-priv
). Renommez les deux au nouvel emplacement correspondant (il suffit peut-être de renommer simplement la partie datadir
, mais mieux vaut prévenir que guérir). Au départ, ils ressemblaient généralement à ceci:
datadir=C:/ProgramData/MySQL/MySQL Server 8.0/Data
et
secure-file-priv="C:/ProgramData/MySQL/MySQL Server 8.0/Uploads"
Donc, si le nouvel emplacement doit être E:/MySQL/MySQL Server 8.0/...
, puis renommez les deux entrées comme ceci:
datadir=E:/MySQL/MySQL Server 8.0/Data
et
secure-file-priv="E:/MySQL/MySQL Server 8.0/Uploads"
Maintenant, après avoir déplacé la base de données et renommé les entrées dans le my.ini
fichier, AVANT de redémarrer le service, ouvrez l'éditeur de registre (par exemple, appuyez sur WIN + R, tapez "regedit", appuyez sur Entrée), accédez à Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL80
(encore une fois, le MySQL80
est le nom du service MySQL que vous avez choisi lors de l'installation et peut différer de MySQL80
) et cliquez avec le bouton droit sur l'entrée ImagePath
et choisissez Modifier. Il devrait y avoir une chaîne affichée similaire à ceci:
"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe" --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" MySQL80
Il s'agit essentiellement du lien vers le fichier exe réel exécuté par le service avec un paramètre de fichier de configuration supplémentaire, à savoir que my.ini
fichier que nous avons modifié précédemment. Par conséquent, ici, bien sûr, le chemin d'accès au fichier de configuration doit également être mis à jour, car il a été déplacé, donc pour cet exemple, il serait remplacé par:
"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe" --defaults-file="E:\MySQL\MySQL Server 8.0\my.ini" MySQL80
Notez bien sûr que seul le chemin du fichier de configuration doit être modifié.
Maintenant, le service peut être redémarré! Accédez à nouveau aux services et cliquez avec le bouton droit sur MySQL80
service pour choisir à nouveau l'option 'start' et elle devrait redémarrer sans problème. Si l'étape 3 est ignorée, le redémarrage ne fonctionnera généralement pas!