I you forgot your MySQL root password, you can recover MySQL database server password with following five easy steps.
- Stop the MySQL server process.
- Start the MySQL (mysqld) server/daemon process with the
--skip-grant-tablesoption so that it will not prompt for password. - Connect to mysql server as the root user.
- Setup new mysql root account password i.e. reset mysql password.
- Exit and restart the MySQL server.
Here are commands you need to type for each step (login as the root user):
- Stop mysql service
#/etc/init.d/mysql stop Stopping MySQL database server: mysqld.
- Start to MySQL server without password:
# mysqld_safe --skip-grant-tables &; [1] 5988 Starting mysqld daemon with databases from /var/lib/mysql mysqld_safe[6025]: started
- Connect to mysql server using mysql client:
# mysql -uroot 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. mysql>
- 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 - Stop MySQL Server:
# /etc/init.d/mysql stop Stopping MySQL database server: mysqld STOPPING server from pid file /var/run/mysqld/mysqld.pid mysqld_safe[6186]: ended [1]+ Done mysqld_safe --skip-grant-tables
- Start MySQL server and test it
# /etc/init.d/mysql start # mysql -u root -p