Follow us on Social Media:

MySQL Database Administrator

Boost Your Quick Knowledge in MySQL DBA Work, Concepts, Tips and Trick

Wednesday, 21 March 2018

How to reset MySQL root password in Linux ?

Reset MySQL Root Password: Linux Systems


In this article, I am discussing about how to reset MySQL Root password for 'root'@'localhost' once you forget or lost.

You must have root access on the server to reset the MySQL root password.

To change the password for a root account with a different host name part, modify the instructions to use that host name.

1.    Log in to your account using SSH.
You must run the commands in the following steps as the root user. Therefore, you can either log in directly as the root user (which is not recommended for security reasons), or use the su or sudo commands to run the commands as the root user.

2.    Stop MySQL service.
1: For CentOS
           service mysqld stop
2: For Debian and Ubuntu
           service mysql stop

3.      Restart MySQL server with the –skip-grant-tables option.

mysqld_safe –skip-grant-tables &
·       Must add & (ampersand) at end of above command. This runs the command in the background and allows you to type the commands in the following steps
·       Running MySQL with the —skip-grant-tables option enabled is highly insecure, we request you please perform this task in minimum time period. The steps below show you how to stop the mysqld_safe server instance safely and start the MySQL server securely after you have reset the root password.


4.   Log into MySQL using the following command:
mysql

5.  At the mysql> prompt, reset the password. To do this, type the following command, replacing NEW-PASSWORD with the new root password:
Update mysql.user set password=‘GetMySQL’ where user=’root’;

6.    At the mysql> prompt, type the following commands:
FLUSH PRIVILEGES;
Exit;

7.    Stop the MySQL server using the following command. You will be prompted to enter the new MySQL root password before the MySQL server shuts down:
mysqladmin –u root –p shutdown

8.   Start the MySQL server normally. To do this, type the appropriate command for your Linux distribution:
1: For CentOS and Fedora type:
           service mysqld start
2: For Debian and Ubuntu:
           service mysql start

How to reset MySQL root password in windows ?

Reset MySQL Root Password: Windows Systems
In this article, I am discussing about how to reset MySQL Root password for 'root'@'localhost'  once you forget or lost.
To change the password for a root account with a different host name part, modify the instructions to use that host name.

1. Log on to WINDOWS as Administrator.
2. Stop the MySQL server if it is running. For a server that is running as a Windows service, go to the Services manager: From the Start menu, select Control Panel, then Administrative Tools, then Services. Find the MySQL service in the list and stop it.
If your server is not running as a service, you may need to use the Task Manager to force it to stop.
3. Create a text file containing the password-assignment statement on a single line. Replace the password with the password that you want to use.
in MySQL 5.7.6 and later:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'GetMySQL';
Or
ALTER USER 'root'@'192.168.200.201' IDENTIFIED BY 'GetMySQL';


in MySQL 5.7.5 and earlier:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('GetMySQL');
Or
SET PASSWORD FOR 'root'@'192.168.200.201' = PASSWORD('GetMySQL');


4. Save the file. This example assumes that you name the file C:\mysql-init.txt.

5. Open a console window to get to the command prompt: From the Start menu, select Run, then enter cmd as the command to be run.

6. Start the MySQL server with the special --init-file option (notice that the backslash in the option value is doubled):


C:\Program Files\MySQL\MySQL Server 5.6>cd bin

C:\Program Files\MySQL\MySQL Server 5.6\bin>mysqld.exe --init-file= C:\\mysql-init.txt


If you installed MySQL to a different location, you can change the command line accordingly.

C:\Program Files\MySQL\GetMySQL\MySQL Server 5.6>cd bin

C:\Program Files\MySQL\GetMySQL\MySQL Server 5.6\bin>mysqld.exe --init-file=C:\\mysql-init.txt


The server executes the contents of the file named by the --init-file option at startup, changing the'root'@'localhost' account password.

To have server output to appear in the console window rather than in a log file, add the --console option to the mysqld command.

If you installed MySQL using the MySQL Installation Wizard, you may need to specify a --defaults-file option. For example:

C:\> mysqld
         --defaults-file="C:\\ProgramData\\MySQL\\MySQL Server 5.7\\my.ini"
         --init-file=C:\\mysql-init.txt

The appropriate --defaults-file setting can be found using the Services Manager: From the Start menu, select Control Panel, then Administrative Tools, then Services. Find the MySQL service in the list, right-click it, and choose the Properties option. The Path to executable field contains the --defaults-file setting.

7. After the server has started successfully, delete C:\mysql-init.txt.

You should now be able to connect to the MySQL server as root using the new password.

If the ALTER USER statement fails to reset the password, try repeating the procedure using the following statements to modify the user table directly:

UPDATE mysql.user
    SET authentication_string = PASSWORD('MyNewPass'), password_expired = 'N'
    WHERE User = 'root' AND Host = 'localhost';
FLUSH PRIVILEGES;

Please Like and Subscribe us ....

Please visit the website on daily basis , Your New articles will publish at any moment. Please Subscribe us for getting Latest Updates...