Friday, September 6, 2013

HOWTO Recover/Reset MySQL root Password

To recover the MySQL database server password you can perform the following steps:

1. Stop MySQL service:
root@anneke:~# /etc/init.d/mysql stop
Stopping MySQL database server: mysqld.

2. Start MySQL service without password:
root@anneke:~# mysqld_safe --skip-grant-tables &
[1] 5678
Starting mysqld daemon with databases from /var/lib/mysql
mysqld_safe[6543]: started

3. Connect to MySQL server:
root@anneke:~# mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 4.1.15-Debian_1-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

4. Setup new MySQL root user password:
mysql> use mysql;
mysql> update user set password=PASSWORD("NEW-ROOT-PASSWORD") where User='root';
mysql> flush privileges;
mysql> quit

5. Stop MySQL Service:
root@anneke:~# /etc/init.d/mysql stop
Stopping MySQL database server: mysqld
STOPPING server from pid file /var/run/mysqld/
mysqld_safe[6663]: ended
[1]+  Done                    mysqld_safe --skip-grant-tables


6. Start MySQL service and test the new password:
root@anneke:~# /etc/init.d/mysql start
root@anneke:~# mysql -u root -p