在 Ubuntu(10.4)上安装 mysql 后,当我尝试设置 root 密码(sudo mysqladmin password NEW_PASSWORD)时出现以下错误:
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'
有人知道发生了什么事吗?
答案1
您的 mysql 数据库已有一个 root 密码。该密码可能是在您安装 mysql 时设置的。
如果您知道现有密码,请使用以下命令:
sudo mysqladmin -p password NEW_PASSWORD
'-p' 将告诉 mysql 首先提示您输入旧密码。然后,它将用字符串 NEW_PASSWORD 替换现有密码。
如果你不记得原始密码,你需要关闭它并按照以下说明启动它:http://www.cyberciti.biz/tips/恢复-mysql-root-password.html。这很容易做到,但确实需要一些停机时间。
更新
另外一个选择。
您可以告诉 Ubuntu 重新配置您的 MySQL 服务器。这将从头开始重新配置 mysql-server-5.1,并要求您以 root 用户身份输入新密码。注意:这将完全清除所有现有数据,并将其替换为默认数据。但是,我猜您的数据库不包含任何内容。
sudo dpkg-reconfigure mysql-server-5.1
(如果我没记错的话,Ubuntu 10.04 附带的是 MySQL 服务器 5.1,而不是 5.0)
答案2
对我来说,该错误消息表明已经设置了 root 密码。我已经有一段时间没有在 Ubuntu 上安装 mysql 了,但我似乎记得安装后的对话框要求我在那时指定密码。您的安装是否也是如此?
如果不,本节MySQL 手册应该会有所帮助。
答案3
我遇到了同样的问题,尝试了第一个用户的密码。我可以登录。
在终端中输入:mysql -u root -p
输入密码: [第一个用户的密码]
如果您使用 MySQL 管理员,请输入:
服务器主机名:本地主机, 用户名:根, 密码: [第一个用户的密码]