my_bool mysql_change_user(MYSQL *mysql, const char *user, const char *password, const char *db)
Changes the user and causes the database specified by
db to become the default (current) database
on the connection specified by
subsequent queries, this database is the default for table
references that include no explicit database specifier.
mysql_change_user() fails if
the connected user cannot be authenticated or does not have
permission to use the database. In this case, the user and
database are not changed.
db parameter of
NULL if you do not want to have a default
This function resets the session state as if one had done a
new connect and reauthenticated. (See
Chapter 20, C API Automatic Reconnection Control.) It always performs a
any active transactions, closes and drops all temporary
tables, and unlocks all locked tables. It resets session
system variables to the values of the corresponding global
system variables, releases prepared statements, closes
HANDLER variables, and releases
locks acquired with
These effects occur even if the user did not change.
The same that you can get from
Commands were executed in an improper order.
The MySQL server has gone away.
The connection to the server was lost during the query.
An unknown error occurred.
The MySQL server does not implement this command (probably an old server).
The user or password was wrong.
The database did not exist.
The user did not have access rights to the database.
The database name was too long.