Question: Does it also match empty string, or only non-empty strings? I have been trying to find a reference unsuccesfully.

Answer: 
Why don't you try it yourself and see? At any rate, here are the docs you were looking for:

> 
> With LIKE you can use the following two wildcard characters in the pattern.
> 
> 
> 
> 
> 
> | Character | Description |
> | --- | --- |
> | % | Matches any number of characters, even zero characters |
> | \_ | Matches exactly one character |
> 
> 
> 

<http://dev.mysql.com/doc/refman/5.6/en/string-comparison-functions.html#operator_like>
Such an old question w/o answer, but apparently in a context of creating a procedure % stands for any hosts.

i.e.: 

```
CREATE DEFINER=`root`@`%` PROCEDURE `*internalProcedureName*`

```

* % wildcard for the HOST stands for **any hosts**

Ref.:

* [MySQL 8.0 Create Procedure](https://dev.mysql.com/doc/refman/8.0/en/create-procedure.html) - while it does not clarify % itself but procedure only