> ## Documentation Index
> Fetch the complete documentation index at: https://kb.hosting.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Resetting the MySQL root password

> Reset your MySQL root password with this step-by-step guide, complete with code snippets and related resources.

This article describes how to reset the MySQL root password. You may need to do this, for example, if you have forgotten the password.

<Note>
  You must have root access on the server to reset the MySQL root password.
</Note>

## Changing the MySQL root password

To reset the root password for MySQL, follow these steps:

1. Log in to your account [using SSH](/docs/using-ssh-secure-shell).
   > 📘 Note
   >
   > 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 the MySQL server using the appropriate command for your Linux distribution:

   * For AlmaLinux and Fedora, type:

     ```shell theme={null}
     service mysqld stop
     ```

   * For Debian and Ubuntu, type:

     ```shell theme={null}
     service mysql stop
     ```

3. Restart the MySQL server with the **--skip-grant-tables** option. To do this, type the following command:

   ```shell theme={null}
   mysqld_safe --skip-grant-tables &
   ```

   > 🚧 Important
   >
   > * Make sure you type the ampersand (&) at the end of the 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, and should only be done for a brief period while you reset the password. 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:

   ```shell theme={null}
   mysql
   ```

5. At the **mysql>** prompt, reset the password. To do this, type the following command, replacing ***new-password*** with the new root password:

   ```sql theme={null}
   UPDATE mysql.user SET Password=PASSWORD('new-password') WHERE User='root';
   ```

6. At the **mysql>** prompt, type the following commands:

   ```sql theme={null}
   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:

   ```shell theme={null}
   mysqladmin -u root -p shutdown
   ```

8. Start the MySQL server normally. To do this, type the appropriate command for your Linux distribution:

   * For AlmaLinux and Fedora, type:

     ```shell theme={null}
     service mysqld start
     ```

   * For Debian and Ubuntu, type:

     ```shell theme={null}
     service mysql start
     ```

## Related articles

* [Connecting to MySQL from the command line](/docs/connect-to-mysql-from-the-command-line)

* [Managing MySQL databases, users, and tables from the command line](/docs/managing-mysql-databases-and-users-from-the-command-line)
