拒绝用户‘root@localhost’访问(使用密码:否)

拒绝用户‘root@localhost’访问(使用密码:否)

我正在尝试将名为 cacti 的网络管理包安装到在 Windows Virtual PC 下运行的 Ubuntu 上。我尝试安装 MySQL,因为它是 cacti 的依赖项之一。我可以安装并启动 MySQL 服务器,但每当我尝试以任何其他方式访问它(例如更改密码)时,我都会收到错误消息拒绝用户‘root@localhost’访问(使用密码:否)。我想知道是什么原因造成的以及如何解决它。

编辑:(以防万一我的评论不可见)HD 和 Devin Ceartas 的答案对我来说不起作用。

答案1

您可以尝试使用以下方法重置密码这些说明

答案2

您正在尝试不使用密码连接到 MySQL 服务器。如果您忘记了密码,可以尝试:

sudo dpkg-reconfigure mysql-server

对话框会要求您输入新的 root 用户密码。如果您正在连接 mysql 客户端,则需要尝试:

mysql -p

此命令将要求您输入之前输入的密码。

答案3

如果您从未为 MySQL 设置过 root 密码,并且您是全新安装的,则服务器通常不需要密码即可以 root 身份连接。
要首次设置 root 密码,请在 shell 提示符下使用 mysqladmin 命令,如下所示:


$ mysqladmin -u root password NEWPASSWORD
但是,如果您想更改(或更新)root 密码:

$ mysqladmin -u root -p'OLDPASSWORD' password NEWPASSWORD
如果您丢失了 mysql 服务器密码,您可以使用 dpkg-reconfigure。

答案4

这是错误的:

shell> mysqladmin --user=root create cacti  

相反,创建 MySQL 数据库:

shell> mysqladmin --user=root --password create cacti

然后输入 mysql 根用户的密码。

相关内容