The first step to reset a password is to stop the MySQL daemon. This will cause mysqld to accept no new connections and terminate existing connections. But this can all be done in a matter of seconds, usually. To stop MySQL on Mac, use the System Preference pane or launchctl. To stop on Linux, use init.d:
sudo /etc/init.d/mysql stop
Or if it’s mysqld instead:
sudo /etc/init.d/mysqld stop
Then start the SQL daemon using the –skip-grant-tables option:
sudo mysqld_safe --skip-grant-tables &
Next, login to mysql, which won’t require a password running in this mode:
mysql -u root
And use the UPDATE USER statement to set a new password:
UPDATE USER set password=PASSWORD("mysecretpassword") WHERE USER='root';
Then flush the privileges:
flush privileges;
Viola, start things back up normally and you’re off to the races.