Finally, I found this works:
Grant all on machineA.* to alan@"%" identified by 'alan'
However, I found strange thing is when I use DOS prompt to issue command:
mysql -h localhost -u alan -palan
use databaseA
It works.
BUT not the following:
mysql -h 192.168.1.xx -u alan -palan
use databaseA <-- cause access deny
It did not allow me to access the databaseA.
Both command issued in the machine where the MySQL installed.