设置不正确的mysql权限/主机后,无法login到mysql

在CentOS 5.x上,我使用了webmin面板,并且在mysql设置中,我试图允许“root”从本地IP地址login。 在主机列表中我有“任何”或“本地主机”,我试图让它“localhost,84.xx.xx.xx”认为这将允许我从我的本地计算机与MySQLpipe理员程序login。

我保存input的数据后,我不能做太多的MySQL

Webmin说DBI connect failed : Access denied for user ''@'localhost' to database 'mysql'

在SSH中,mysql表示ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'

我的猜测是,mysql不允许root从任何主机连接了,因为我input了不正确的主机。

我试着卸载并重新安装MySQL,但没有改变。 有没有办法重置这个? 我没有数据库数据,我可以删除所有需要的。

谢谢。

以root用户身份loginterminal并停止mysql守护进程。

 /etc/init.d/mysqld stop 

然后启动mysql守护进程并跳过存储密码和其他特权信息的授权表

 mysqld_safe --skip-grant-tables & 

你应该看到mysqld启动成功。 现在你应该可以连接到没有密码的MySQL。

 mysql --user=root mysql 

然后更新相关信息:

 update user set Password=PASSWORD('new-password') where user='root'; flush privileges; exit; 

然后像通常那样重新启动mysql守护进程

 /etc/init.d/mysqld restart 

如果你遇到困难,也可以看一下MySQL文档来帮助你

你需要用--skip-grant-tables选项来启动mysql。 看看这个页面 。 之后,你应该可以连接到MySQL数据库。 然后你可以修复这个错误。