在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数据库。 然后你可以修复这个错误。