Mon ordinateur est Windows XP.
J'ai besoin de trouver my.cnf
pour que tous les privilèges reviennent à l'utilisateur root. J'ai accidentellement supprimé certains privilèges de l'utilisateur root. J'ai toujours le mot de passe et je n'ai pas de problème à me connecter à MySQL en tant qu'utilisateur root. Mais je ne peux pas changer de table.
Voici ma réponse:
services.msc
, Enter"D:/Program Files/MySQL/MySQL Server 5.6/bin\mysqld" --defaults-file="D:\ProgramData\MySQL\MySQL Server 5.6\my.ini" MySQL56
Réponse complète ici: https://stackoverflow.com/a/20136523/1316649
Pour répondre à votre question, sous Windows, le fichier my.cnf
Peut être appelé my.ini
. MySQL le recherche aux emplacements suivants (dans cet ordre):
%PROGRAMDATA%\MySQL\MySQL Server 5.7\my.ini
, %PROGRAMDATA%\MySQL\MySQL Server 5.7\my.cnf
%WINDIR%\my.ini
, %WINDIR%\my.cnf
C:\my.ini
, C:\my.cnf
\my.ini
, [~ # ~] rép_install [~ # ~] \my.cnf
Voir aussi http://dev.mysql.com/doc/refman/5.7/en/option-files.html
Ensuite, vous pouvez éditer le fichier de configuration et ajouter une entrée comme celle-ci:
[mysqld]
skip-grant-tables
Ensuite, redémarrez le service MySQL et vous pourrez vous connecter et faire ce que vous devez faire. Bien sûr, vous voulez désactiver cette entrée dans le fichier de configuration dès que possible!
Voir aussi http://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html
L’emplacement Windows 7 est: C:\Users\All Users\MySQL\MySQL Server 5.5\my.ini
Pour XP peut être: C:\Documents and Settings\All Users\MySQL\MySQL Server 5.5\my.ini
Au sommet de ces fichiers se trouvent des commentaires définissant où my.cnf
peut être trouvé.
Vous pouvez trouver le basedir (et peut-être dans votre my.cnf) si vous faites la requête suivante dans votre mysql-client (par exemple, phpmyadmin)
SHOW VARIABLES
vous pouvez rechercher ce fichier: resetroot.bat
il suffit de double-cliquer dessus pour que votre compte racine soit réinitialisé et que tous les privilèges soient transformés en OUI