The "host" can be either a host name or an IP address. Also, it can involve wild cards.
GRANT SELECT ON db.* TO sam@'my.domain.com' IDENTIFIED BY 'foo';
Examples: Note: these usually need to be quoted
localhost -- the same machine as mysqld
'my.domain.com' -- a specific domain; this involves a lookup
'11.22.33.44' -- a specific IP address
'192.168.1.%' -- wild card for trailing part of IP address. (192.168.% and 10.% and 11.% are "internal" ip addresses.)
Using localhost
relies on the security of the server. For best practice root
should only be allowed in through localhost. In some cases, these mean the same thing: 0.0.0.1
and ::1
.