## B.3.3.2 How to Reset the Root Password 

For additional details, see Section 4.9, “Environment Variables” . 

If you have never assigned a root  password for MySQL, the server does not require a password at all for connecting as root . However, this is insecure. For instructions on assigning a password, see Section 2.10.4, “Securing the Initial MySQL Account” . 

If you know the root  password and want to change it, see Section 13.7.1.1, “ALTER USER Statement” , and Section 13.7.1.10, “SET PASSWORD Statement” . 

If you assigned a root  password previously but have forgotten it, you can assign a new password. The following sections provide instructions for Windows and Unix and Unix-like systems, as well as generic instructions that apply to any system. 

## Resetting the Root Password: Windows Systems 

On Windows, use the following procedure to reset the password for the MySQL ’root’@’localhost’ account. 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 your system 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. 

ALTER USER ’root’@’localhost’ IDENTIFIED BY ’MyNewPass’; 

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 init_file  system variable set to name the file (notice that the backslash in the option value is doubled): 

C:\> cd "C:\Program Files\MySQL\MySQL Server 8.0\bin" C:\> mysqld --init-file=C:\\mysql-init.txt 

If you installed MySQL to a different location, adjust the cd  command accordingly. 

The server executes the contents of the file named by the init_file  system variable 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 8.0\\my.ini" 

