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

10

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?

user73314
la source

Réponses:

10
  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éer ou éditer 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 du service réseau et de l' administrateur que le répertoire de données par défaut utilisait, sinon cela entraînera l'erreur redoutée "démarré puis arrêté". 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
RolandoMySQLDBA
la source
0

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 essentiellement la 3ème étape:

  1. Accédez aux services (par exemple, appuyez sur WIN + R, tapez services.msc, appuyez sur Entrée) et arrêtez le MySQL80service 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 du C:\ProgramData\MySQL\MySQL Server 8.0\dossier, il devrait y avoir un my.inifichier. 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 devrait y avoir deux occurrences (une pour datadir, une pour secure-file-priv). Renommez les deux au nouvel emplacement correspondant (il suffit peut-être simplement de renommer la datadirpièce, 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/..., 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 du my.inifichier, 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 MySQL80est le nom du service MySQL que vous avez choisi lors de l'installation et qui peut différer de MySQL80) et cliquez avec le bouton droit sur l' ImagePathentrée 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 le my.inifichier 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 changé en:

    "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 le MySQL80service pour choisir à nouveau l'option «Démarrer» et il devrait redémarrer sans problème. Si l'étape 3 est ignorée, le redémarrage ne fonctionnera généralement pas!

kushy
la source