Search code examples
mysqldatabaselocalhostwildcardhost

Using % for host when creating a MySQL user


My MySQL database needs two users: appuser and support.
One of the application developers insists that I create four accounts for these users:

appuser@'%'
appuser@'localhost'
support@'%'
support@'localhost'

For the life of me I can't figure out why he thinks we need this. Wouldn't using the wildcard as the host take care of the 'localhost'?

Any ideas?

(Using MySQL 5.5 here)


Solution

  • localhost is special in MySQL, it means a connection over a UNIX socket (or named pipes on Windows, I believe) as opposed to a TCP/IP socket. Using % as the host does not include localhost, hence the need to explicitly specify it.