I can not find my.cnf on my windows computer [duplicate]
My computer is Windows XP.
I need to find my.cnf
to get all privileges back to the root user. I accidentally removed some privileges of the root user. I still have the password and there is no problem for me to log in to MySQL as the root user. But I can not alter a table.
Solution 1:
Here is my answer:
-
Win+R (shortcut for 'run'), type
services.msc
, Enter - You should find an entry like 'MySQL56', right click on it, select properties
- You should see something like
"D:/Program Files/MySQL/MySQL Server 5.6/bin\mysqld" --defaults-file="D:\ProgramData\MySQL\MySQL Server 5.6\my.ini" MySQL56
Full answer here: https://stackoverflow.com/a/20136523/1316649
Solution 2:
To answer your question, on Windows, the my.cnf
file may be called my.ini
. MySQL looks for it in the following locations (in this order):
-
%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
-
INSTALLDIR
\my.ini
, INSTALLDIR\my.cnf
See also http://dev.mysql.com/doc/refman/5.7/en/option-files.html
Then you can edit the config file and add an entry like this:
[mysqld]
skip-grant-tables
Then restart the MySQL Service and you can log in and do what you need to do. Of course you want to disable that entry in the config file as soon as possible!
See also http://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html