web-dev-qa-db-fra.com

Modification du répertoire de données sur le serveur de base de données MySQL

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?

10
user73314
  1. Ouvrez Windows CLI en tant qu'administrateur et arrêtez MySQL

    net stop mysql
    
  2. Copiez les données dans D:\ProgramData\Data

    xcopy /s C:\ProgramData\MySQL\MySQL Server 5.6\data D:\ProgramData\Data
    
  3. Créez ou modifiez C:\ProgramData\MySQL\MySQL Server 5.6\my.ini

    Ajoutez ceci au my.ini

    [mysqld]
    datadir = D:/ProgramData/Data
    
  4. Démarrage MySQL

    net start mysql
    

    Si vous ne pouvez pas exécuter net start mysql, essayez le panneau de configuration de Windows.

  5. 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
10
RolandoMySQLDBA

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:

  1. 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).

  2. 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"
    
  3. 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é.

  4. 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!

0
kushy