我在 CentOS 5 服务器上全新安装了 MySQL 5.5.19。它不允许我访问任何内容或使用 phpMyAdmin 登录。以下是尝试不同方法时出现的错误。
$ mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
$ mysql -u root -p
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
我可以重新启动 mysqld,但我的问题是这个错误阻碍了我使用 MySQL 的操作。感谢您的任何意见。
答案1
您正确地指定了用户-u root -p
,假设 root 用户有一个密码。
失败意味着输入了错误的密码。如果您无法登录,则只能重置 root 密码。
添加skip-grant-tables
到您的 MySQL 配置并重新启动服务;这将允许 root 无需密码即可登录。完成后,设置密码 ( update mysql.user set password=PASSWORD('newpass') where User='root';
),验证用户表中 root 的主机规范没有发生异常(并检查用户名为空白的匿名用户规范;它们可能会有问题),删除该skip-grant-tables
选项,然后重新启动服务。您现在应该能够使用新密码登录。
答案2
如果你可以使用 root 帐户访问 mysql 数据库,或者你忘记了密码,则可以使用以下命令指示重置它。