void init_databases(void) { mysql_query(m,"create database wechat"); mysql_change_user(m,DATABASE_USER,DATABASE_PASSWORD,DATABASE_NAME); mysql_query(m,"create table wechat_user(" \ "id int not null primary key auto_increment," \ "name char(20) not null," \ "sex int(4) not null," \ "address char(20) not null," \ "phonenumber varchar(20) not null," \ "password varchar(20) not null)"); mysql_query(m,"create table wechat_temp_message(" \ "id int(4) not null primary key auto_increment," \ "srcname char(20) not null," \ "srcphone char(20) not null," \ "dstname char(20) not null," \ "dstphone char(20) not null," \ "value longtext not null)"); mysql_query(m,"create table wechat_addfriend_message(" \ "id int(4) not null primary key auto_increment," \ "srcphone char(20) not null," \ "srcname char(20) not null," \ "dstphone char(20) not null," \ "value longtext not null)"); mysql_query(m,"create table wechat_friend(" \ "id int(4) not null primary key auto_increment," \ "aphone char(20) not null," \ "aname char(20) not null," \ "bname char(20) not null," \ "bphone char(20) not null)"); }
bool Mysql::Cambiar_usuario(wxString new_usuario,wxString new_password,wxString new_db){ if(mysql_change_user(sock,new_usuario.fn_str(),new_password.fn_str(),new_db.fn_str())){ return false;//No tuvo exito } else{ return true;//Tuvo exito la consulta } }
static JSVAL change_user(JSARGS args) { HandleScope scope; MYSQL *handle = (MYSQL *) args[0]->IntegerValue(); String::Utf8Value user(args[1]->ToString()); String::Utf8Value password(args[2]->ToString()); String::Utf8Value db(args[3]->ToString()); return scope.Close(Boolean::New(mysql_change_user(handle, *user, *password, *db))); }
bool wxMySQL::ChangeUser(wxString username, wxString password, wxString dbname) { bool res = !mysql_change_user(m_pDB, username, password, dbname); if(res) { m_Username = username; m_Password = password; m_DatabaseName = dbname; } m_LastErrorMessage = mysql_error(m_pDB); return res; }
/* change_user(user=nil, passwd=nil, db=nil) */ static VALUE change_user(int argc, VALUE* argv, VALUE obj) { VALUE user, passwd, db; char *u, *p, *d; MYSQL* m = GetHandler(obj); rb_scan_args(argc, argv, "03", &user, &passwd, &db); u = NILorSTRING(user); p = NILorSTRING(passwd); d = NILorSTRING(db); if (mysql_change_user(m, u, p, d) != 0) mysql_raise(m); return obj; }
static PyObject* wsql_connection_change_user(wsql_connection *self, PyObject *args, PyObject *kwargs) { static char *kwlist[] = { "user", "password", "database", NULL } ; char *user, *pwd=NULL, *db=NULL; int error; if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s|ss:change_user", kwlist, &user, &pwd, &db)) return NULL; CHECK_CONNECTION(self, NULL); Py_BEGIN_ALLOW_THREADS error = mysql_change_user(&(self->connection), user, pwd, db); Py_END_ALLOW_THREADS if (error) return wsql_raise_error(self); Py_RETURN_NONE; }
/* * server doesn't reset sql_mode after COM_CHANGE_USER */ int bug_41785(MYSQL *mysql) { char out[10]; int rc, len; len= mysql_real_escape_string(mysql, out, "\\", 1); FAIL_IF(len != 2, "len != 2"); rc= mysql_query(mysql, "SET SQL_MODE=NO_BACKSLASH_ESCAPES"); check_mysql_rc(rc, mysql); rc= mysql_query(mysql, "SET sql_mode=''"); check_mysql_rc(rc, mysql); mysql_change_user(mysql, "root", "", "test"); len= mysql_real_escape_string(mysql, out, "\\", 1); FAIL_IF(len != 2, "len != 2"); return OK; }
static int test_bug31669(MYSQL *mysql) { int rc; static char buff[LARGE_BUFFER_SIZE+1]; static char user[USERNAME_CHAR_LENGTH+1]; static char db[NAME_CHAR_LEN+1]; static char query[LARGE_BUFFER_SIZE*2]; rc= mysql_change_user(mysql, NULL, NULL, NULL); FAIL_UNLESS(rc, "Error expected"); rc= mysql_change_user(mysql, "", "", ""); FAIL_UNLESS(rc, "Error expected"); memset(buff, 'a', sizeof(buff)); rc= mysql_change_user(mysql, buff, buff, buff); FAIL_UNLESS(rc, "Error epected"); rc = mysql_change_user(mysql, username, password, schema); check_mysql_rc(rc, mysql); memset(db, 'a', sizeof(db)); db[NAME_CHAR_LEN]= 0; sprintf(query, "CREATE DATABASE IF NOT EXISTS %s", db); rc= mysql_query(mysql, query); check_mysql_rc(rc, mysql); memset(user, 'b', sizeof(user)); user[USERNAME_CHAR_LENGTH]= 0; memset(buff, 'c', sizeof(buff)); buff[LARGE_BUFFER_SIZE]= 0; sprintf(query, "GRANT ALL PRIVILEGES ON *.* TO '%s'@'%%' IDENTIFIED BY '%s' WITH GRANT OPTION", user, buff); rc= mysql_query(mysql, query); check_mysql_rc(rc, mysql); rc= mysql_query(mysql, "FLUSH PRIVILEGES"); check_mysql_rc(rc, mysql); rc= mysql_change_user(mysql, user, buff, db); check_mysql_rc(rc, mysql); user[USERNAME_CHAR_LENGTH-1]= 'a'; rc= mysql_change_user(mysql, user, buff, db); FAIL_UNLESS(rc, "Error expected"); user[USERNAME_CHAR_LENGTH-1]= 'b'; buff[LARGE_BUFFER_SIZE-1]= 'd'; rc= mysql_change_user(mysql, user, buff, db); FAIL_UNLESS(rc, "Error expected"); buff[LARGE_BUFFER_SIZE-1]= 'c'; db[NAME_CHAR_LEN-1]= 'e'; rc= mysql_change_user(mysql, user, buff, db); FAIL_UNLESS(rc, "Error expected"); db[NAME_CHAR_LEN-1]= 'a'; rc= mysql_change_user(mysql, user, buff, db); FAIL_UNLESS(!rc, "Error expected"); rc= mysql_change_user(mysql, user + 1, buff + 1, db + 1); FAIL_UNLESS(rc, "Error expected"); rc = mysql_change_user(mysql, username, password, schema); check_mysql_rc(rc, mysql); sprintf(query, "DROP DATABASE %s", db); rc= mysql_query(mysql, query); check_mysql_rc(rc, mysql); sprintf(query, "DELETE FROM mysql.user WHERE User='******'", user); rc= mysql_query(mysql, query); check_mysql_rc(rc, mysql); FAIL_UNLESS(mysql_affected_rows(mysql) == 1, ""); return OK; }
static int test_bug20023(MYSQL *mysql) { int sql_big_selects_orig; int max_join_size_orig; int sql_big_selects_2; int sql_big_selects_3; int sql_big_selects_4; int sql_big_selects_5; int rc; if (mysql_get_server_version(mysql) < 50100) { diag("Test requires MySQL Server version 5.1 or above"); return SKIP; } /*********************************************************************** Remember original SQL_BIG_SELECTS, MAX_JOIN_SIZE values. ***********************************************************************/ query_int_variable(mysql, "@@session.sql_big_selects", &sql_big_selects_orig); query_int_variable(mysql, "@@global.max_join_size", &max_join_size_orig); /*********************************************************************** Test that COM_CHANGE_USER resets the SQL_BIG_SELECTS to the initial value. ***********************************************************************/ /* Issue COM_CHANGE_USER. */ rc= mysql_change_user(mysql, username, password, schema); check_mysql_rc(rc, mysql); /* Query SQL_BIG_SELECTS. */ query_int_variable(mysql, "@@session.sql_big_selects", &sql_big_selects_2); /* Check that SQL_BIG_SELECTS is reset properly. */ FAIL_UNLESS(sql_big_selects_orig == sql_big_selects_2, "Different value for sql_big_select"); /*********************************************************************** Test that if MAX_JOIN_SIZE set to non-default value, SQL_BIG_SELECTS will be 0. ***********************************************************************/ /* Set MAX_JOIN_SIZE to some non-default value. */ rc= mysql_query(mysql, "SET @@global.max_join_size = 10000"); check_mysql_rc(rc, mysql); rc= mysql_query(mysql, "SET @@session.max_join_size = default"); check_mysql_rc(rc, mysql); /* Issue COM_CHANGE_USER. */ rc= mysql_change_user(mysql, username, password, schema); check_mysql_rc(rc, mysql); /* Query SQL_BIG_SELECTS. */ query_int_variable(mysql, "@@session.sql_big_selects", &sql_big_selects_3); /* Check that SQL_BIG_SELECTS is 0. */ FAIL_UNLESS(sql_big_selects_3 == 0, "big_selects != 0"); /*********************************************************************** Test that if MAX_JOIN_SIZE set to default value, SQL_BIG_SELECTS will be 1. ***********************************************************************/ /* Set MAX_JOIN_SIZE to the default value (-1). */ rc= mysql_query(mysql, "SET @@global.max_join_size = -1"); rc= mysql_query(mysql, "SET @@session.max_join_size = default"); /* Issue COM_CHANGE_USER. */ rc= mysql_change_user(mysql, username, password, schema); check_mysql_rc(rc, mysql); /* Query SQL_BIG_SELECTS. */ query_int_variable(mysql, "@@session.sql_big_selects", &sql_big_selects_4); /* Check that SQL_BIG_SELECTS is 1. */ FAIL_UNLESS(sql_big_selects_4 == 1, "sql_big_select != 1"); /*********************************************************************** Restore MAX_JOIN_SIZE. Check that SQL_BIG_SELECTS will be the original one. ***********************************************************************/ rc= mysql_query(mysql, "SET @@global.max_join_size = -1"); check_mysql_rc(rc, mysql); rc= mysql_query(mysql, "SET @@session.max_join_size = default"); check_mysql_rc(rc, mysql); /* Issue COM_CHANGE_USER. */ rc= mysql_change_user(mysql, username, password, schema); check_mysql_rc(rc, mysql); /* Query SQL_BIG_SELECTS. */ query_int_variable(mysql, "@@session.sql_big_selects", &sql_big_selects_5); /* Check that SQL_BIG_SELECTS is 1. */ FAIL_UNLESS(sql_big_selects_5 == sql_big_selects_orig, "big_select != 1"); /*********************************************************************** That's it. Cleanup. ***********************************************************************/ return OK; }
static int test_change_user(MYSQL *mysql) { char buff[256]; const char *user_pw= "mysqltest_pw"; const char *user_no_pw= "mysqltest_no_pw"; const char *pw= "password"; const char *db= "mysqltest_user_test_database"; int rc; DBUG_ENTER("test_change_user"); /* Prepare environment */ sprintf(buff, "drop database if exists %s", db); rc= mysql_query(mysql, buff); check_mysql_rc(rc, mysql) sprintf(buff, "create database %s", db); rc= mysql_query(mysql, buff); check_mysql_rc(rc, mysql) sprintf(buff, "grant select on %s.* to %s@'%%' identified by '%s'", db, user_pw, pw); rc= mysql_query(mysql, buff); check_mysql_rc(rc, mysql) sprintf(buff, "grant select on %s.* to %s@'%%'", db, user_no_pw); rc= mysql_query(mysql, buff); check_mysql_rc(rc, mysql) /* Try some combinations */ rc= mysql_change_user(mysql, NULL, NULL, NULL); FAIL_UNLESS(rc, "Error expected"); rc= mysql_change_user(mysql, "", NULL, NULL); FAIL_UNLESS(rc, "Error expected"); rc= mysql_change_user(mysql, "", "", NULL); FAIL_UNLESS(rc, "Error expected"); rc= mysql_change_user(mysql, "", "", ""); FAIL_UNLESS(rc, "Error expected"); rc= mysql_change_user(mysql, NULL, "", ""); FAIL_UNLESS(rc, "Error expected"); rc= mysql_change_user(mysql, NULL, NULL, ""); FAIL_UNLESS(rc, "Error expected"); rc= mysql_change_user(mysql, "", NULL, ""); FAIL_UNLESS(rc, "Error expected"); rc= mysql_change_user(mysql, user_pw, NULL, ""); FAIL_UNLESS(rc, "Error expected"); rc= mysql_change_user(mysql, user_pw, "", ""); FAIL_UNLESS(rc, "Error expected"); rc= mysql_change_user(mysql, user_pw, "", NULL); FAIL_UNLESS(rc, "Error expected"); rc= mysql_change_user(mysql, user_pw, NULL, NULL); FAIL_UNLESS(rc, "Error expected"); rc= mysql_change_user(mysql, user_pw, "", db); FAIL_UNLESS(rc, "Error expected"); rc= mysql_change_user(mysql, user_pw, NULL, db); FAIL_UNLESS(rc, "Error expected"); rc= mysql_change_user(mysql, user_pw, pw, db); check_mysql_rc(rc, mysql) rc= mysql_change_user(mysql, user_pw, pw, NULL); check_mysql_rc(rc, mysql) rc= mysql_change_user(mysql, user_pw, pw, ""); check_mysql_rc(rc, mysql) rc= mysql_change_user(mysql, user_no_pw, pw, db); FAIL_UNLESS(rc, "Error expected"); rc= mysql_change_user(mysql, user_no_pw, pw, ""); FAIL_UNLESS(rc, "Error expected"); rc= mysql_change_user(mysql, user_no_pw, pw, NULL); FAIL_UNLESS(rc, "Error expected"); rc= mysql_change_user(mysql, user_no_pw, "", NULL); check_mysql_rc(rc, mysql) rc= mysql_change_user(mysql, user_no_pw, "", ""); check_mysql_rc(rc, mysql) rc= mysql_change_user(mysql, user_no_pw, "", db); check_mysql_rc(rc, mysql) rc= mysql_change_user(mysql, user_no_pw, NULL, db); check_mysql_rc(rc, mysql) rc= mysql_change_user(mysql, "", pw, db); FAIL_UNLESS(rc, "Error expected"); rc= mysql_change_user(mysql, "", pw, ""); FAIL_UNLESS(rc, "Error expected"); rc= mysql_change_user(mysql, "", pw, NULL); FAIL_UNLESS(rc, "Error expected"); rc= mysql_change_user(mysql, NULL, pw, NULL); FAIL_UNLESS(rc, "Error expected"); rc= mysql_change_user(mysql, NULL, NULL, db); FAIL_UNLESS(rc, "Error expected"); rc= mysql_change_user(mysql, NULL, "", db); FAIL_UNLESS(rc, "Error expected"); rc= mysql_change_user(mysql, "", "", db); FAIL_UNLESS(rc, "Error expected"); /* Cleanup the environment */ rc= mysql_change_user(mysql, username, password, schema); check_mysql_rc(rc, mysql); sprintf(buff, "drop database %s", db); rc= mysql_query(mysql, buff); check_mysql_rc(rc, mysql) sprintf(buff, "drop user %s@'%%'", user_pw); rc= mysql_query(mysql, buff); check_mysql_rc(rc, mysql) sprintf(buff, "drop user %s@'%%'", user_no_pw); rc= mysql_query(mysql, buff); check_mysql_rc(rc, mysql) return OK; }
static int test_bug30472(MYSQL *mysql) { int rc; char character_set_name_1[MY_CS_NAME_SIZE]; char character_set_client_1[MY_CS_NAME_SIZE]; char character_set_results_1[MY_CS_NAME_SIZE]; char collation_connnection_1[MY_CS_NAME_SIZE]; char character_set_name_2[MY_CS_NAME_SIZE]; char character_set_client_2[MY_CS_NAME_SIZE]; char character_set_results_2[MY_CS_NAME_SIZE]; char collation_connnection_2[MY_CS_NAME_SIZE]; char character_set_name_3[MY_CS_NAME_SIZE]; char character_set_client_3[MY_CS_NAME_SIZE]; char character_set_results_3[MY_CS_NAME_SIZE]; char collation_connnection_3[MY_CS_NAME_SIZE]; char character_set_name_4[MY_CS_NAME_SIZE]; char character_set_client_4[MY_CS_NAME_SIZE]; char character_set_results_4[MY_CS_NAME_SIZE]; char collation_connnection_4[MY_CS_NAME_SIZE]; if (mysql_get_server_version(mysql) < 50100) { diag("Test requires MySQL Server version 5.1 or above"); return SKIP; } /* Retrieve character set information. */ mysql_set_character_set(mysql, "latin1"); bug30472_retrieve_charset_info(mysql, character_set_name_1, character_set_client_1, character_set_results_1, collation_connnection_1); /* Switch client character set. */ FAIL_IF(mysql_set_character_set(mysql, "utf8"), "Setting cs to utf8 failed"); /* Retrieve character set information. */ bug30472_retrieve_charset_info(mysql, character_set_name_2, character_set_client_2, character_set_results_2, collation_connnection_2); /* Check that 1) character set has been switched and 2) new character set is different from the original one. */ FAIL_UNLESS(strcmp(character_set_name_2, "utf8") == 0, "cs_name != utf8"); FAIL_UNLESS(strcmp(character_set_client_2, "utf8") == 0, "cs_client != utf8"); FAIL_UNLESS(strcmp(character_set_results_2, "utf8") == 0, "cs_result != ut8"); FAIL_UNLESS(strcmp(collation_connnection_2, "utf8_general_ci") == 0, "collation != utf8_general_ci"); diag("%s %s", character_set_name_1, character_set_name_2); FAIL_UNLESS(strcmp(character_set_name_1, character_set_name_2) != 0, "cs_name1 = cs_name2"); FAIL_UNLESS(strcmp(character_set_client_1, character_set_client_2) != 0, "cs_client1 = cs_client2"); FAIL_UNLESS(strcmp(character_set_results_1, character_set_results_2) != 0, "cs_result1 = cs_result2"); FAIL_UNLESS(strcmp(collation_connnection_1, collation_connnection_2) != 0, "collation1 = collation2"); /* Call mysql_change_user() with the same username, password, database. */ rc= mysql_change_user(mysql, username, password, (schema) ? schema : "test"); mysql_set_character_set(mysql, "latin1"); check_mysql_rc(rc, mysql); /* Retrieve character set information. */ bug30472_retrieve_charset_info(mysql, character_set_name_3, character_set_client_3, character_set_results_3, collation_connnection_3); /* Check that character set information has been reset. */ FAIL_UNLESS(strcmp(character_set_name_1, character_set_name_3) == 0, "cs_name1 != cs_name3"); FAIL_UNLESS(strcmp(character_set_client_1, character_set_client_3) == 0, "cs_client1 != cs_client3"); FAIL_UNLESS(strcmp(character_set_results_1, character_set_results_3) == 0, "cs_result1 != cs_result3"); FAIL_UNLESS(strcmp(collation_connnection_1, collation_connnection_3) == 0, "collation1 != collation3"); /* Change connection-default character set in the client. */ mysql_options(mysql, MYSQL_SET_CHARSET_NAME, "utf8"); /* Call mysql_change_user() in order to check that new connection will have UTF8 character set on the client and on the server. */ rc= mysql_change_user(mysql, username, password, (schema) ? schema : "test"); check_mysql_rc(rc, mysql); /* Retrieve character set information. */ bug30472_retrieve_charset_info(mysql, character_set_name_4, character_set_client_4, character_set_results_4, collation_connnection_4); /* Check that we have UTF8 on the server and on the client. */ FAIL_UNLESS(strcmp(character_set_name_4, "utf8") == 0, "cs_name != utf8"); FAIL_UNLESS(strcmp(character_set_client_4, "utf8") == 0, "cs_client != utf8"); FAIL_UNLESS(strcmp(character_set_results_4, "utf8") == 0, "cs_result != utf8"); FAIL_UNLESS(strcmp(collation_connnection_4, "utf8_general_ci") == 0, "collation_connection != utf8_general_ci"); /* That's it. Cleanup. */ return OK; }
static int bug31418_impl() { my_bool is_null; MYSQL *mysql; int rc; /* Create a new connection. */ mysql= test_connect(NULL); if (!mysql) return FAIL; /*********************************************************************** Check that lock is free: - IS_FREE_LOCK() should return 1; - IS_USED_LOCK() should return NULL; ***********************************************************************/ is_null= query_int_variable(mysql, "IS_FREE_LOCK('bug31418')", &rc); FAIL_UNLESS(!is_null && rc, "rc = 0"); is_null= query_int_variable(mysql, "IS_USED_LOCK('bug31418')", &rc); FAIL_UNLESS(is_null, "rc = 0"); /*********************************************************************** Acquire lock and check the lock status (the lock must be in use): - IS_FREE_LOCK() should return 0; - IS_USED_LOCK() should return non-zero thread id; ***********************************************************************/ query_int_variable(mysql, "GET_LOCK('bug31418', 1)", &rc); FAIL_UNLESS(rc, "rc = 0"); is_null= query_int_variable(mysql, "IS_FREE_LOCK('bug31418')", &rc); FAIL_UNLESS(!is_null && !rc, "rc = 0"); is_null= query_int_variable(mysql, "IS_USED_LOCK('bug31418')", &rc); FAIL_UNLESS(!is_null && rc, "rc = 0"); /*********************************************************************** Issue COM_CHANGE_USER command and check the lock status (the lock must be free): - IS_FREE_LOCK() should return 1; - IS_USED_LOCK() should return NULL; **********************************************************************/ rc= mysql_change_user(mysql, username, password, schema ? schema : "test"); check_mysql_rc(rc, mysql); is_null= query_int_variable(mysql, "IS_FREE_LOCK('bug31418')", &rc); FAIL_UNLESS(!is_null && rc, "rc = 0"); is_null= query_int_variable(mysql, "IS_USED_LOCK('bug31418')", &rc); FAIL_UNLESS(is_null, "rc = 0"); /*********************************************************************** That's it. Cleanup. ***********************************************************************/ mysql_close(mysql); return OK; }
int main(int argc, char *argv[]) { TestConnections * Test = new TestConnections(argc, argv); Test->set_timeout(60); Test->repl->connect(); Test->connect_maxscale(); Test->tprintf("Creating user 'user' \n"); execute_query(Test->conn_rwsplit, "DROP USER 'user'@'%%'"); Test->try_query(Test->conn_rwsplit, (char *) "CREATE USER user@'%%' identified by 'pass2'"); Test->try_query(Test->conn_rwsplit, (char *) "GRANT SELECT ON test.* TO user@'%%'"); Test->try_query(Test->conn_rwsplit, (char *) "FLUSH PRIVILEGES;"); Test->try_query(Test->conn_rwsplit, (char *) "DROP TABLE IF EXISTS t1"); Test->try_query(Test->conn_rwsplit, (char *) "CREATE TABLE t1 (x1 int, fl int)"); Test->tprintf("Changing user... \n"); Test->add_result(mysql_change_user(Test->conn_rwsplit, (char *) "user", (char *) "pass2", (char *) "test") , "changing user failed \n"); Test->tprintf("mysql_error is %s\n", mysql_error(Test->conn_rwsplit)); Test->tprintf("Trying INSERT (expecting access denied)... \n"); if ( execute_query(Test->conn_rwsplit, (char *) "INSERT INTO t1 VALUES (77, 11);") == 0) { Test->add_result(1, "INSERT query succedded to user which does not have INSERT PRIVILEGES\n"); } Test->tprintf("Changing user back... \n"); Test->add_result(mysql_change_user(Test->conn_rwsplit, Test->repl->user_name, Test->repl->password, (char *) "test"), "changing user failed \n"); Test->tprintf("Trying INSERT (expecting success)... \n"); Test->try_query(Test->conn_rwsplit, (char *) "INSERT INTO t1 VALUES (77, 12);"); Test->tprintf("Changing user with wrong password... \n"); if (mysql_change_user(Test->conn_rwsplit, (char *) "user", (char *) "wrong_pass2", (char *) "test") == 0) { Test->add_result(1, "changing user with wrong password successed! \n"); } Test->tprintf("%s\n", mysql_error(Test->conn_rwsplit)); if ((strstr(mysql_error(Test->conn_rwsplit), "Access denied for user")) == NULL) { Test->add_result(1, "There is no proper error message\n"); } Test->tprintf("Trying INSERT again (expecting success - use change should fail)... \n"); Test->try_query(Test->conn_rwsplit, (char *) "INSERT INTO t1 VALUES (77, 13);"); Test->tprintf("Changing user with wrong password using ReadConn \n"); if (mysql_change_user(Test->conn_slave, (char *) "user", (char *) "wrong_pass2", (char *) "test") == 0) { Test->add_result(1, "FAILED: changing user with wrong password successed! \n"); } Test->tprintf("%s\n", mysql_error(Test->conn_slave)); if ((strstr(mysql_error(Test->conn_slave), "Access denied for user")) == NULL) { Test->add_result(1, "There is no proper error message\n"); } Test->tprintf("Changing user for ReadConn \n"); Test->add_result(mysql_change_user(Test->conn_slave, (char *) "user", (char *) "pass2", (char *) "test") , "changing user failed \n"); Test->try_query(Test->conn_rwsplit, (char *) "DROP USER user@'%%';"); execute_query_silent(Test->conn_rwsplit, "DROP TABLE test.t1"); Test->close_maxscale_connections(); int rval = Test->global_result; delete Test; return rval; }
int main(int argc, char *argv[]) { if ( argc != 7 ) { printf("Invalid no. of arguments\n"); printf("Usage: %s <server ip> <server port> <user> <passwd> <database> \"<query>\"\n",argv[0]); exit(1); } const char *server_ip = argv[1]; unsigned int server_port = atoi(argv[2]); const char *user = argv[3]; const char *passwd = argv[4]; const char *db = argv[5]; const char *query = argv[6]; int status = 0; //Status of mysql_next_result char *server_ip_res; MYSQL *conn = mysql_init(NULL); if ( conn == NULL ) { printf("Init failed: %s",mysql_error(conn)); exit(1); } if ( mysql_real_connect( conn, server_ip, user, passwd, db, server_port, NULL, 0 ) == NULL ) { printf( "\nConnect to %s:%u failed - Error: %s",server_ip,server_port,mysql_error(conn)); } else { printf("\nConnect to %s:%u succeeded",server_ip,server_port); if( mysql_query(conn,query) != 0 ) { printf( "\nQuery execution failed: %s",mysql_error(conn)); exit(1); } else { printf("\nQuery %s execution successful",query); do { MYSQL_RES *result = mysql_store_result(conn); if(result != NULL) { MYSQL_ROW row = mysql_fetch_row(result); printf("\nQuery response: \n%s\n",row[0]); mysql_free_result(result); } else { printf("\nQuery response is empty - %s",mysql_error(conn)); exit(1); } status = mysql_next_result(conn); if(status > 0) { printf("Error occurred while fetching result set"); exit(1); } } while(status == 0); /*Change_user with NULL password*/ if (mysql_change_user(conn, "root", NULL, "pms")) { fprintf(stderr, "Failed to change user. Error: %s\n", mysql_error(conn)); } if( mysql_query(conn,query) != 0 ) { printf( "\nQuery execution failed: %s",mysql_error(conn)); exit(1); } else { printf("\nQuery %s execution successful",query); } } } mysql_close(conn); exit(0); }