:sig
MySQL* mysql_connect(String host = "localhost", String username = "root", String password = "")

:params
host : host name of the MySQL server
username : user name
password : password
return value : pointer to the MySQL connection struct

:see
>mysql

:content
Establishes a connection to a MySQL server and returns a pointer to the connection struct.

This connection handle is then used with helpers such as `mysql_query()`, `mysql_error()`, and `mysql_disconnect()`.

MySQL handles are request-scoped framework resources. Repeated `mysql_connect()` calls with the same host and credentials reuse one server connection within the current request. Each call creates a lease; `mysql_disconnect()` releases that lease, and UCE closes the pooled server connection during request cleanup. Never store a `MySQL*` in globals, sessions, or other state that can outlive the current request.

:example
MySQL* db = mysql_connect();
print(db != 0 ? "connected to MySQL" : "no MySQL server reachable with these credentials", "\n");
if(db != 0) mysql_disconnect(db);
