每当我尝试在 CentOS 5.5 上安装 mysql 5.0.77 时,安装都会顺利进行。因此,每当我尝试:
mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
(密码为空)
经过进一步调查,我发现 mysql db 的用户表是空的。有谁知道这个问题的解决方案。
谢谢。
答案1
您是否已安装现有产品并进行了升级?还是全新安装?
如果您刚刚安装了它,您可以尝试在清除它之后重新安装该包。
如果是升级,您可以停止它,然后使用以下命令运行守护程序:
/usr/sbin/mysqld --skip-grant-tables
然后进入客户端,创建您的用户名。之后重新启动 MySQL,因为使用 skip-grant-tables 运行服务器时无需身份验证,并且任何连接都具有 root/grant 权限。
(由于我运行的是 Debian,所以对 mysqld 的路径不是 100% 确定,但是方法是相同的)
答案2
感谢 karmawhore!重新安装没有成功。但我通过使用 mysqld --skip-grant-tables 在 mysql - user 表中手动插入 root 解决了这个问题。