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

我试图安装一个称为cacti的networkingpipe理软件包到在Windows Virtual PC下运行的Ubuntu上。 我试图安装MySQL,因为它是仙人掌的依赖之一。 我可以安装并启动MySQL服务器,但是每当我尝试以任何其他方式访问它时(例如更改密码),我都会收到错误消息Access denied for user'root @ localhost'(using password:NO)。 我想知道是什么原因造成的,以及如何解决这个问题。

编辑:(以防万一我的意见不可见)从HD和德文Ceartas的答案不适合我。

您可以尝试按照这些说明重新设置密码。

你正在试图连接到MySQL服务器而没有密码。 如果你忘记了,你可以尝试一下:

sudo dpkg-reconfigure mysql-server 

一个对话框会询问你一个新的root用户密码。 如果你正在连接mysql客户端,你需要尝试:

 mysql -p 

这个命令会询问你input的密码。

您是否执行安装后configuration( http://dev.mysql.com/doc/refman/5.0/en/unix-post-installation.html )和权限设置程序( http://dev.mysql.com/ doc / refman / 5.0 / en / default-privileges.html )?

如果你从来没有为MySQL设置一个root密码,并且你正在进行全新的安装,那么服务器根本就不需要密码来连接。
要首次设置root密码,请在shell提示下使用mysqladmin命令,如下所示:

 $ mysqladmin -u root password NEWPASSWORD 

但是,如果您想更改(或更新)根密码:

 $ mysqladmin -u root -p'OLDPASSWORD' password NEWPASSWORD 

如果你失去了mysql服务器的密码,你可以使用dpkg-reconfigure。

这是错误的:

 shell> mysqladmin --user=root create cacti 

相反,创buildMySQL数据库:

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

然后为mysql root用户键入您的密码。