ubuntumysqlroot进入出现ERROR1044(42000):Accessdeniedfo

发布网友

我来回答

1个回答

热心网友

提示:ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'。出现此问题,前两天曾解决过,但今天再次尝试却未能成功。深入探索后,发现是由于mysql数据库的user表中存在用户名为空的匿名账户,导致使用root登录时实际上是以匿名账户身份。通过错误提示中的'@'localhost'可以发现此问题。

方法一:关闭mysql服务,使用mysqld_safe --skip-grant-table屏蔽权限,然后在新终端中使用mysql -u root mysql命令登录。在mysql提示符下,执行以下SQL语句:UPDATE user SET Password=PASSWORD('newpassword') where USER='root';FLUSH PRIVILEGES;确保执行完FLUSH PRIVILEGES以更新权限设置。最后使用\q退出mysql。

方法二:同方法一关闭mysql服务后,使用mysqld_safe --skip-grant-table屏蔽权限,接着在新终端中使用mysql -u root mysql命令登录。在mysql提示符下,执行以下SQL语句:delete from user where USER='';FLUSH PRIVILEGES;确保执行完FLUSH PRIVILEGES以更新权限设置。最后使用\q退出mysql。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
3.0318s