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 2shell> 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.

  • mysql
  • 0 Users Found This Useful
Was this answer helpful?

Related Articles

How to Access your Folders(Linux/Centos) using WinSCP

Guide on how to access the folders in your vps linux! This is the easiest way, First make sure...

Changing Time Zone

Changing Time Zone in Linux:1. Login to your VPS server using Putty. 2. Type the following...

To change the VPS password (WinSCP / Putty)

To change the VPS password (WinSCP/Putty)   1. Login to SSH via xShell4 (Recommended) or Putty...

How to solve Permission denied Issue in Putty

To resolve the Permission denied issue in Putty (e.g. -bash ./configure: Permission denied)Login...

MySQL Table says IN USE, but table will not repair in PHPMyAdmin

From time to time MySQL corrupts itself. This message means that your table needs repair,...

Powered by WHMCompleteSolution