Recently forgot mysql root password for one of the servers i maintain . Little bit googling helped me to reset the password .
Just copy pasted the tutorials i saw so that i need not google again .
If you have set a root
password, but forgot what it was, you can set a new password with the following procedure:
- Take down the
mysqld
server by sending akill
(notkill -9
) to themysqld
server. The pid is stored in a `.pid' file, which is normally in the MySQL database directory:shell> kill `cat /mysql-data-directory/hostname.pid`
You must be either the Unix
root
user or the same usermysqld
runs as to do this. - Restart
mysqld
with the--skip-grant-tables
option. - Set a new password with the
mysqladmin password
command:shell> mysqladmin -u root password 'mynewpassword'
- Now you can either stop
mysqld
and restart it normally, or just load the privilege tables with:shell> mysqladmin -h hostname flush-privileges
- After this, you should be able to connect using the new password.
Alternatively, you can set the new password using the mysql
client:
- Take down and restart
mysqld
with the--skip-grant-tables
option as described above. - Connect to the
mysqld
server with:shell> mysql -u root mysql
- Issue the following commands in the
mysql
client:mysql> UPDATE user SET Password=PASSWORD('mynewpassword') -> WHERE User='root'; mysql> FLUSH PRIVILEGES;
- After this, you should be able to connect using the new password.
- You can now stop
mysqld
and restart it normally.