Separate DB host and port

As per changes between `mysqli_connect` and `mysql_connect`, the DB host and port are now separate arguments.

A empty str `dbname` argument has been added so the port can be supplied, in line with the defaults defined in `mysqli_connect`.