Create a MySQL user in the destination server and give the required grants.
You want to connect to MySQL server from ServerA (192.168.10.20) to MySQL ServerB (192.168.10.40)
#1 Connect to MySQL ServerB (192.168.10.40)
mysql -u your-user-name -p
#2 Create a user using the name you are using for connection which you got the error for and the source IP of ServerA
Replace colored/bold parts with your own data
create user 'name'@'ip.ip.ip.ip' identified by 'password-for-name-user' ;
#3 Grant privileges.
Based on the requirments for your application or user give suitable grants like below example
All -- Grant all privileges
*.* -- All databases and tables
grant all on *.* to 'name'@'ip.ip.ip.ip' identified by 'password-for-name-user' ;
select,update -- Grant only select and update queries.
mike.* -- Only to database named 'mike' and all it's tables.
grant select,update on mike.* to 'name'@'ip.ip.ip.ip' identified by 'password-for-name-user' ;
#4 Reload MySQL Privilegs
To reload the new privileges it's always a good idea to flush it by running below query
flush privileges ;