I followed the mysql 5.6 manual's instructions to reset my root password, but it is not working. I also tried using the '--skip-grant-tables' option based on this question. Still not working.
I am using windows 7 and MySQL 5.6, it is running as a service. Here is exactly what I did:
First, I did steps 1 to 5 from this procedure, to stop the MySQL service, and create my init file. This is my init file, with the password censored:
UPDATE mysql.user SET Password=PASSWORD('**********') WHERE User='root';
FLUSH PRIVILEGES;
I also checked the properties on my service, and it does have the correct path to MySQL5.6
Then in a new terminal did this:
C:\Users\michael>"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld.exe" --init-file=C:\Users\michael\mysql-init.txt --skip-grant-tables
2014-10-13 10:18:10 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
After that, the terminal was no longer usable, I could not do ctrl+c, nor type anything. So I opened a new terminal and tested logging in with that password, it worked.
At that point it was not running as a service. The only way I could think of stopping mysqld was by using the task manager, since ctrl+c in the terminal was not working, and closing the terminal did not stop mysqld. After I stopped it from the task manager, I went back to my services window and started mysql as a service.
Unfortunately though, I tried logging in again, using the same password that worked moments ago, and I am still being denied access:
C:\Users\michael>mysql -uroot -p
Enter password: **********
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
what am I missing?