C programme de connexion mysql

Je suis en train de travailler sur un simple programme c qui a pour connecter à ma base de données, puis faire une requête, puis fermer la connexion.

int main()
{
    MYSQL *conn;
    conn = mysql_init(NULL);

    if (conn == NULL) {
        printf("Error %u %s\n", mysql_errno(conn), mysql_error(conn));
        exit(1);
    }

    if (mysql_real_connect(conn, "localhost", "root", "root", NULL, 8889, NULL, 0)) {
        printf("Error %u: %s\n", mysql_errno(conn), mysql_error(conn));
        exit(1);
    }

    if (mysql_query(conn, "create database testdb")) {
        printf("Error %u: %s",mysql_errno(conn), mysql_error(conn));
        exit(1);
    }

    mysql_close(conn);
    return 0;
}

Ce code compile mais quand je le lance, il sortira après la mysql_query() déclaration.

L'erreur suivante est renvoyée:

Error 2006: MySQL server has gone away

J'ai utilisé google à la recherche d'une réponse, et finit par ici:

http://dev.mysql.com/doc/refman/5.0/en/gone-away.html