我的电脑是 WindowsXP。
我需要找到 my.cnf,以便将所有特权返回给 root 用户。我不小心删除了 root 用户的一些特权。我仍然有密码,而且作为 root 用户登录 MySQL 对我来说没有问题。但我不能改变一张桌子。
my.cnf
开始-> 搜索-> 文件和文件夹-> 所有文件和文件夹
输入“ my.cnf”然后点击搜索。
您可以搜索这个文件: resetroot.bat
resetroot.bat
只需双击它,以便您的根帐户将被重置和所有的特权转换为 YES
为了回答你的问题,在 Windows 上,my.cnf文件可以称为 my.ini。MySQL 在以下位置(按照这个顺序)寻找它:
my.ini
%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
\my.cnf
参见 http://dev.mysql.com/doc/refman/5.7/en/option-files.html
然后,您可以编辑配置文件并添加如下条目:
[mysqld] skip-grant-tables
然后重新启动 MySQL 服务,您可以登录并做您需要做的事情。当然,您希望在配置文件中尽快禁用该条目!
参见 http://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html
Windows7的位置是: C:\Users\All Users\MySQL\MySQL Server 5.5\my.ini
C:\Users\All Users\MySQL\MySQL Server 5.5\my.ini
对于 XP 可以是: C:\Documents and Settings\All Users\MySQL\MySQL Server 5.5\my.ini
C:\Documents and Settings\All Users\MySQL\MySQL Server 5.5\my.ini
在这些文件的顶部是定义在哪里可以找到 my.cnf的注释。
我的回答是:
services.msc
"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
如果在 mysql-Client (例如 phpmyadmin)中执行以下查询,就可以找到 basedir (可能在 my.cnf 中)
SHOW VARIABLES