You have to comment out the single line in the `my.cnf:

     bind_address = 127.0.0.1
By default `mysql` server listen only on the `localhost` for security reason. When that line is commented, `mysql` server become listening on the all available interfaces because default value is `bind_address = *`. Now you can connect to the `mysql` from the host OS by IP-address of the VM.

To restrict guest access to the single database/schema you have to perform the next query:

    GRANT ALL PRIVILEGES ON database.* 
       TO 'guestuser'@'1.2.3.4' 
       IDENTIFIED BY 'somepassword';
where `1.2.3.4` is an IP-address of your host OS. 

If you have dynamically assigned IPs on your LAN then you have to allow connections from the whole subnet your IPs are belongs to:

    GRANT ALL PRIVILEGES ON database.* 
       TO 'guestuser'@'192.168.%' 
       IDENTIFIED BY 'somepassword';

where `192.168.%` means `192.168.0.0-192.168.255.255`