我继承了安装了mysql的服务器。我没有任何用户的mysql密码,甚至没有root用户(尽管我有linux root密码)。另外,我只知道另一个用户帐户besbes root,并且该用户帐户没有执行任何操作的权限,甚至没有SELECT权限。
我尝试停止mysql servicw,使用“跳过授予表”选项重新启动,然后仅使用无密码登录:
service mysqld stop service mysqld start --skip-grant-tables & mysql -u root
但是出现以下错误:
Access denied for user 'root'@'localhost' (using password: NO)
然后,我尝试重置密码:
mysqladmin -u root password 'newpw'
但这也给出了拒绝访问错误。
我还尝试了以其他用户身份登录(没有pw)并执行以下命令:
UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';
并得到此错误:
ERROR 1142 (42000): UPDATE command denied to user ''@'localhost' for table 'user'
我也尝试过删除mysql并重新安装,但是出现了同样的错误。
有什么建议么?
两种选择:
如果要使用–skip-grant-tables,则可能需要直接启动mysqld,因为选项不一定通过init脚本传递。
否则,请尝试使用手册中的这些说明。