It is a good practice when creating MySql users to bind the target user to a specific host.
mysql> CREATE USER 'John'@'192.168.1.1';
mysql> SELECT User, Host, Password FROM mysql.user; /* Show the list of users to verifiy */
Then you can create a database and target the user to that database in the above case, user "John".
mysql> CREATE DATABASE new;
mysql> GRANT SELECT , INSERT , UPDATE , DELETE ON new . * TO 'John'@'192.168.1.1';
Now user John can only access the database from host 192.168.1.1 and only have access to database "new".