修改mysql远程root密码
#ifdef _WIN32
#define snprintf _snprintf
#endif
bool ChangeRemoteRootPwd(const char* szHost,const char* szRoot,
const char* szRootPwd,const char* szDb,
const char* szUser,const char* szPwd)
{
MYSQL mysql;
mysql_init(&mysql);
if (!mysql_real_connect(&mysql,szHost,szRoot,szRootPwd,szDb,0,NULL,0))
{
printf("%s\n",mysql_error(&mysql));
mysql_close(&mysql);
return false;
}
char szSql[512] = {0};
/*
snprintf(szSql,sizeof(szSql)-1,"call pr_change_user(\‘%s\‘)",szPwd);
if (mysql_query(&mysql,szSql) != 0)
{
printf("%s\n",mysql_error(&mysql));
mysql_close(&mysql);
return false;
}
*/
snprintf(szSql,sizeof(szSql)-1,"update mysql.user set password=PASSWORD(\‘%s\‘) where user = \‘root\‘ and host = \‘%%\‘",szPwd);
if (mysql_query(&mysql,szSql) != 0)
{
printf("%s\n",mysql_error(&mysql));
mysql_close(&mysql);
return false;
}
strcpy(szSql,"flush privileges");
if (mysql_query(&mysql,szSql) != 0)
{
printf("%s\n",mysql_error(&mysql));
mysql_close(&mysql);
return false;
}
mysql_close(&mysql);
return true;
}
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。