Reproduce: DBA do following operations: 1. create user user1@['domain']; // the domain will be resolved as 2 ip: ip1 and ip2; 2. create user user1@'ip1'; 3. wait at least 10 second 4. grant all on *.*.* to user1@'ip1'; // will return error: user1@'ip1' does not exist This is because the daemon thread DomainResolver resolve the "domain" and overwrite the `user1@'ip1'` which is created by DBA. This PR fix it.