How to reset a mySQL password?

If you have lost your root user password for MySQL, you can reset it with the following procedure:

  1. Take down the mysqld server by sending a kill (not kill -9) to the mysqld server. The pid is stored in a .pid file, which is normally in the MySQL database directory:
    Example: shell> kill `cat /your-mysql-data-directory/hostname.pid`
    In Red Hat you can also stop the databse with:
    Example: shell> service mysqld stop
    You must be either the Unix root user or the same user the server runs as to do this.
  2. Restart mysqld with the --skip-grant-tables option.
  3. Connect to the mysqld server with
    Option 1:mysql -h hostname mysql and change the password with a GRANT command.
    See MySQL website: MySQL: 7.35 GRANT and REVOKE Syntax
    Option 2: shell> mysqladmin -h hostname -u user password 'new password'
  4. Load the privilege tables with: "shell> mysqladmin -h hostname flush-privileges” or with the SQL command "mysql> FLUSH PRIVILEGES;".


Note: Note that after you started mysqld with --skip-grant-tables, any usage of GRANT commands will give you an Unknown command error until you have executed FLUSH PRIVILEGES.

  • 250 Users Found This Useful
Was this answer helpful?

Related Articles

Mysql Basic Commands

[mysql dir]/bin/mysql -h hostname -u root -p Create a database on the sql server. create...

Repairing MySQL tables that will not open

This should be handled on a case by case basis, but if you are using the default MySQL table type...

How to install Mysql

How to install Mysql Via RPM : Please check the following link and get RPM...

MySQL Optimization / Repair Information

How MySQL Uses MemoryThis page lists some of the ways that the mysqld server uses memory, and...

What is the best online resource for information about MySQL?

The MySQL website has a complete reference manual with search capabilities available on their...