Forgot MySQL root password

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-tables option 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

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top