I have inherited a server that has mysql installed on it. I don't have the mysql password for any user, not even root (although I have the linux root password). Plus, I am only aware of one other user account besdies root, and that one does not have privileges to perform any action, not even SELECT.
I tried stopping the mysql servicw, restarting with the skip grant tables option, and just logging in without password:
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'
UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';
ERROR 1142 (42000): UPDATE command denied to user ''@'localhost' for table 'user'
If you want to use --skip-grant-tables you may need to start mysqld directly as the options aren't necessarily passed along through the init script.
Otherwise, try these instructions from the manual.