Access Denied for User ‘root’@’localhost’ (using password: YES) – No Privileges?

I am continuously receiving this error.

I am using mySQL Workbench and from what I am finding is that root’s schema privileges are null. There are no privileges at all.

I am having troubles across platforms that my server is used for and this has been all of a sudden issue.

[email protected] apparently has a lot of access but I am logged in as that, but it just assigns to localhost anyways – localhost has no privileges.

I have done a few things like FLUSH HOSTS, FLUSH PRIVILEGES, etc but have found no success from that or the internet.

How can I get root its access back? I find this frustrating because when I look around people expect you to “have access” but I don’t have access so I can’t go into command line or anything and GRANT myself anything.

When running SHOW GRANTS FOR root this is what I get in return:

Error Code: 1141. There is no such grant defined for user ‘root’ on host ‘%’

Answer

Use the instructions for resetting the root password – but instead of resetting the root password, we’ll going to forcefully INSERT a record into the mysql.user table

In the init file, use this instead

INSERT INTO mysql.user (Host, User, Password) VALUES ('%', 'root', password('YOURPASSWORD'));
GRANT ALL ON *.* TO 'root'@'%' WITH GRANT OPTION;