How to reset the root password in MySQL 8.0.11?

95,873

Solution 1

as here says:

This function was removed in MySQL 8.0.11

1.if you in skip-grant-tables mode
in mysqld_safe:

UPDATE mysql.user SET authentication_string=null WHERE User='root';
FLUSH PRIVILEGES;
exit;

and then, in terminal:

mysql -u root

in mysql:

ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'yourpasswd';

2.not in skip-grant-tables mode
just in mysql:

ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'yourpasswd';

Solution 2

Jus login to mysql with sudo

Sudo mysql

Then

ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'yourpasswd';
exit;

Test it

mysql -u root -p

Solution 3

Try this:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'newPasswd';
Share:
95,873
Mangue  Sutcliff
Author by

Mangue Sutcliff

Student alternating in License Database. Employed at EFICEO, France. Graduate Bac + 3 in computer science. Data Analyst I love DataBases and coding in JAVA.

Updated on June 14, 2021

Comments

  • Mangue  Sutcliff
    Mangue Sutcliff almost 3 years

    I have actually lost my root password and I need to change it. I follow these steps :

    • Step # 1: Stop the MySQL server process.

      Step # 2: Start the MySQL (mysqld) server/daemon process with the --skip-grant-tables option so that it will not prompt for a password.

      Step # 3: Connect to the MySQL server as the root user.

    that we can found on these website : https://www.howtoforge.com/setting-changing-resetting-mysql-root-passwords#recover-mysql-root-password

    mysql> use mysql;
    mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD("TOOR");
    mysql> flush privileges;
    mysql> quit
    

    First error, so I tried :

    mysql> use mysql;
    mysql> update user set password=PASSWORD("TOOR") where User='root';
    mysql> flush privileges;
    mysql> quit
    

    Always the same error said :

    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
    corresponds to your MySQL server version for the right syntax to use near '("TOO
    R") WHERE User='root'' at line 1
    

    How can I resolve this?