```sql
apt-get install mysql-server

create database db;
create table db.test(a Int);

CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass';
GRANT ALL ON *.* TO 'myuser'@'%';
FLUSH PRIVILEGES;
```

mysql client shows different error messages in case the wrong password/user VS host:port
```
# mysql -h 127.0.0.1 -u myuser --password=mypass1
ERROR 1045 (28000): Access denied for user 'myuser'@'localhost' (using password: YES)

mysql -h 127.0.0.1 --port 9999 -u myuser --password=mypass
ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1:9999' (111)
```

clickhouse shows the same error message

```
select * from mysql('127.0.0.1', 'db', 'test', 'myuser1', 'mypass');
DB::Exception: Exception: Connections to all replicas failed: db@127.0.0.1:3306 as user myuser1. (POCO_EXCEPTION)


select * from mysql('127.0.0.1:9999', 'db', 'test', 'myuser', 'mypass');
DB::Exception: Exception: Connections to all replicas failed: db@127.0.0.1:9999 as user myuser. (POCO_EXCEPTION
```
}
        
        
        
        
        
        static thread_local std::mt19937 rnd_generator(
                std::hash<std::thread::id>{}(std::this_thread::get_id()) + std::clock());
        for (auto & [_, replicas] : replicas_by_priority)
        {
            if (replicas.size() > 1)
                std::shuffle(replicas.begin(), replicas.end(), rnd_generator);
        }
    }
    else
    {
        replicas_by_priority[0].emplace_back(
            std::make_shared<Pool>(config_, config_name_, default_connections_, max_connections_));
    }
}
PoolWithFailover::PoolWithFailover(
        const std::string & config_name_,
        const unsigned default_connections_,
        const unsigned max_connections_,
        const size_t max_tries_)
    : PoolWithFailover{Poco::Util::Application::instance().config(),
            config_name_, default_connections_, max_connections_, max_tries_}
{
}
PoolWithFailover::PoolWithFailover(