Access denied for user 'root'@'192.168.1.51' to database 'mysql' code example

Example 1: mysql root access denied

## ADD user in mysql && have problem with root user ##

# First Login mysql shell..
sudo mysql -u root -p 

## Also check if you are unable to login in mysql without sudo...

## Creating new user and giving permissions...
# Goto login shell of mysql... and type below commands...

#1 show databases;
#2 use mysql;
#3 select user, host, plugin from mysql.user;
#4 create user 'your_user_name'@'localhost' identified by 'password';
#5 grant all privileges on *.* to 'your_user_name'@'localhost';
#6 update user set plugin="caching_sha2_password" where User="your_user_name";
	#     .... Here caching_sha2_password you can see yours in #3 check 
	#		your table and see column (plugin) don't use root plugin...
#7 flush privileges;
#8 EXIT

#### DONE Now you created your user also you can user without sudo...

mysql -u your_user_name -p 
## For password check your step #4 and enter same password...

## Enjoy ALL DONE....
## HAVE A NICE DAY!

Example 2: mysql failed to login as root@localhost

UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE user = 'root' AND plugin = 'unix_socket';
FLUSH PRIVILEGES;