/* 主要功能:重新启动mysql 服务器 */ int CppMySQL3DB::reboot() { if(!mysql_reload(_db_ptr)) return 0; else return -1; }
/* reload() */ static VALUE reload(VALUE obj) { MYSQL* m = GetHandler(obj); if (mysql_reload(m) != 0) mysql_raise(m); return obj; }
void do_action(MYSQL *mysql, char *action, char *user) { MYSQL_ROW row; MYSQL_RES *result; char buf[512]; mysql_select_db(mysql, "mysql"); if (!strcmp(action, "dumpuser")) { mysql_query(mysql, "select user, password, host from user"); result = mysql_use_result(mysql); while ((row = mysql_fetch_row(result))) printf("%16s %16s %50s\n", row[0], row[1], row[2]); mysql_free_result(result); } else if (!strcmp(action, "becomeadmin")) { snprintf(buf, sizeof(buf) - 1, "update user set Select_priv='Y', Insert_priv='Y', Update_priv='Y', Delete_priv='Y', " " Create_priv='Y', Drop_priv='Y', Reload_priv='Y', Shutdown_priv='Y', Process_priv='Y', " " File_priv='Y', Grant_priv='Y', References_priv='Y', Index_priv='Y', Alter_priv='Y' where " " user = '******'", user); mysql_query(mysql, buf); mysql_reload(mysql); } /* do whatever you want ... see mysql api ... // else if ( */ }
//-------------------------------------------------------------------------- bool Connection::reload() { bool suc = !mysql_reload(&mysql); if (throw_exceptions && !suc) throw MysqlBadQuery(error()); else return suc; }