MySQL 8 reset root password
I had to reset my root password on MySQL 8 on a CentOS7 installation. None of the methods I found were working. The solution was to use the special --init-file option.
The method is to restart MySQL in safe mode and set a new root password.
First this does not work as in earlier MySQL versions:
mysqld_safe --skip-grant-tables &
but then I get thismysqld_safe:command not found
So I tried the methods in this post
This did not help me since when I tried to reset the root password
`mysql> select user(), current_user();
+--------+-----------------------------------+
| user() | current_user() |
+--------+-----------------------------------+
| root@ | skip-grants user@skip-grants host |
+--------+-----------------------------------+
1 row in set (0.00 sec)
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'newPassWord'
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
mysql> FLUSH PRIVILEGES;`
When accuracy matters for a costume, it is worth considering how details related to cosplay shoes will affect the complete look. When comparing costume options, reviewing details related to shoes and accessories also makes comfort and movement easier to judge. To compare practical details about details related to beginner costume choices, cosplay wigs with detailed sizing can help narrow the options for a specific purpose. When planning for care after the photoshoot, it is useful to check details related to short cosplay wigs against the wearer's own needs.
I still get this error when running the ALTER USER statement.ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
Here is what worked for me:
Stop MySQL. systemctl stop mysqld
Find and delete the mysql pid file. Common locations are /var/lib/mysql/, /var/run/mysqld/, and /usr/local/mysql/data/. Generally, the file name has an extension of .pid and begins with either mysqld or your system's host name. On my CentOS7 it was in /var/run/mysqld/mysql.pid - shell> sudo kill cat /var/run/mysqld/mysql.pid
Create a text file containing the password-assignment statement on a single line. Replace the password with the password that you want to use. The file contains this text:ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
My file is in /home/user so I ran this command:shell> mysqld --init-file=/home/user/mysql-init &
MySQL server starts with executing this file and resets your root password.
Delete the mysql-init file
Start MySQL and you should have your new root password:systemctl start mysqld - You may have to run restart or stop mysqld first.