I had troubles this past week after updating as well. My issues I’m sure was due to my own clumsyness. We had a fire drill and in my haste I kicked the power to the station during fog update. The DB was not in good shape after and had similar problems. I am by no means a MySQL/DB pro so please use caution with my assistance.
So what I found was to stop mysql service and use this command to get into the DB…
sudo mysqld --skip-grant-tables
Then in another terminal run:
mysql use mysql
After trying a bunch of other things(table repairs and such) I realized the root account was missing(as were others).
You can use this to check existance and should show rights assigned.
select * from user where User='root';
I can’t find the page that helped me most but I think next is:
FLUSH PRIVILEGES #if root doesnt exist... insert into user (Host, User, Password) values ('localhost','root',''); #IF/after root exists... update user set Select_priv='Y',Insert_priv='Y',Update_priv='Y',Delete_priv='Y',Create_priv='Y',Drop_priv='Y',Reload_priv='Y',Shutdown_priv='Y',Process_priv='Y',File_priv='Y',Grant_priv='Y',References_priv='Y',Index_priv='Y',Alter_priv='Y',Show_db_priv='Y',Super_priv='Y',Create_tmp_table_priv='Y',Lock_tables_priv='Y',Execute_priv='Y',Repl_slave_priv='Y',Repl_client_priv='Y',Create_view_priv='Y',Show_view_priv='Y',Create_routine_priv='Y',Alter_routine_priv='Y',Create_user_priv='Y' where user='root'; # grant all privileges on *.* to 'root'@'%' with grant option; grant all privileges on *.* to 'root'@'localhost' with grant option;
while I didnt use this site:http://www.helpfromfriend.com/featured/how-to-recreate-root-account-in-mysql/ initially ,
it does layout basically what i had to do.
you may need to add: IDENTIFIED WITH mysql_native_password BY ‘’ to the end of the GRANT statements. I think I had to.
If you want to check/repair tablesyou can check this site on how to:
The experts here may over rule me but it helped me.
hopefully this helps you. Or at least someone.