我已经设法在WAMP上完全锁定了MySQL。似乎所有用户都拒绝所有权限。我可以进入MySQL的唯一方法是通过命令提示符,但不输入用户。从那里,我完全不能做任何事......所有特权都被拒绝。我尝试更新root密码无济于事。
我也试过完全卸载WAMP和MySQL。卸载MySQL后,我删除了其中的数据目录,以摆脱那里的所有信息。重新安装WAMP后,问题仍然存在。
尝试访问PHPMyAdmin会导致:
#1045 - Access denied for user 'root'@'localhost' (using password: NO)
任何人都可以帮忙吗?
编辑为什么人们投票结束这篇文章......?
EDIT2 出现了狂野secondary problem!你想让我做什么?回答或导航?
答案 0 :(得分:11)
您需要使用命令行中的mysqladmin
重置root密码。
mysqladmin password your-new-root-password
可能需要明确指定root用户:
mysqladmin -u root password your-new-root-password
也可能有助于从mysqladmin
中刷新权限:
mysqladmin flush-privileges
然后,您可能需要将所有权限授予root。不确定是否有必要。
GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY 'your-new-password';
答案 1 :(得分:1)
http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html
在尝试重置之前,请确保mysqld进程已被终止。尝试登录到mysql客户端,正如你在问题中所说的那样。
答案 2 :(得分:1)
如果完全擦除并重新安装导致同样的问题,则可能是您的环境中存在问题。
你没有提到你正在使用的Windows版本,但是我认为这些版本是Vista或更高版本的那些愚蠢的用户权限问题。我会检查以确保mysql服务用户帐户具有对mysql数据目录的读/写访问权限。文件。
要求的修复:
要检查运行服务的帐户,请打开services.msc,向下滚动相应的服务,然后查看“登录身份”列(或双击该服务,然后单击“登录”选项卡)。
要检查MySQL数据文件和文件夹的权限,请右键单击父文件夹并选择“属性”,然后选择“安全”选项卡(我不确定您是否有一个带有Home的安全选项卡,虽然 - 你不会在XP中。)
如果运行该服务的帐户无法完全控制文件夹及其中的文件,则需要编辑添加该用户的权限(或更改运行该服务的用户)。
如果所有这些都没有指向正确的方向,那么您应该查找在Win7 Home上安装WAMP的详细说明,并确保跟随它们,因为权限等等是Win7上的PITA。甚至可能是Win7 Home不允许你将web服务器/ sql服务器作为服务运行,因为Windows的主页版本经常被故意瘫痪(实际上,你不能在WinXP Home上运行IIS,以及文件夹安全权限被隐藏)。
答案 3 :(得分:0)
我只能通过从命令行运行mysql_secure_installation来重新获得访问权限。它让我经历了一些y / n问题并允许我(重新)设置根pw。
答案 4 :(得分:0)
只是在这上面花了很多时间。所以很多解决方案都行不通。终于这对我有用了。
使用skip-grant-tables
重新启动MySQL,这绕过了安全性,现在您可以登录并运行:
USE mysql;
CHECK TABLE user;
REPAIR TABLE user;
很明显,我损坏了用户或其他东西。这解决了。此后,我发现我不再具有root用户。因此,我必须添加以下命令(与skip-grant-tables
一起使用):
INSERT INTO mysql.user
SET user = 'root',
host = 'localhost',
password = Password('yournewrootpw'),
Select_priv = 'Y',
Insert_priv = 'Y',
Update_priv = 'Y',
Delete_priv = 'Y',
Create_priv = 'Y',
Drop_priv = 'Y',
Reload_priv = 'Y',
Shutdown_priv = 'Y',
Process_priv = 'Y',
File_priv = 'Y',
Grant_priv = 'Y',
References_priv = 'Y',
Index_priv = 'Y',
Alter_priv = 'Y',
Show_db_priv = 'Y',
Super_priv = 'Y',
Create_tmp_table_priv = 'Y',
Lock_tables_priv = 'Y',
Execute_priv = 'Y',
Repl_slave_priv = 'Y',
Repl_client_priv = 'Y',
Create_view_priv = 'Y',
Show_view_priv = 'Y',
Create_routine_priv = 'Y',
Alter_routine_priv = 'Y',
Create_user_priv = 'Y',
Event_priv = 'Y',
Trigger_priv = 'Y',
Create_tablespace_priv = 'Y';
希望这可以为其他人节省很多时间。