Disclaimer: I am a consultant at Amazon Web Services, and this is my personal blog. The opinions expressed here are solely mine and do not reflect the views of Amazon Web Services (AWS). Any statements made should not be considered official endorsements or statements by AWS.
Most of the time we get this issue when we copy a MySQL database from one source to another.
The simple solution to this problem is to run the below command on the MySQL server.
GRANT ALL ON *.* TO 'root'@'%' IDENTIFIED BY 'yourPassword' WITH GRANT OPTION;
The below points will help you in understanding the above command.
*.*denotes all the tables of all the databases. Here
*is a wild card for database and table names.
'root'@'%'means the root user of any host. Here
%is a wild card for the hostname.
GRANT ALL PRIVILEGES ON db_name.table_name TO 'user_name'@'host_name' IDENTIFIED BY 'password' WITH GRANT OPTION;
For more information, refer to this link - MySQL Reference Manual - GRANT Statement.