C 프로그램을 통해 MySQL에 사용자를 추가 할 예정입니다. 나는 MySQL에서 마지막 해의 프로젝트를 할 예정이다. 내가 틀리게 물으면 잘못 이해하지 마라. 이 개념에 의심의 여지가 있습니다. 즉, 루트 권한을 가진 새로운 사용자를 추가 할 수 있습니다. 그 후에 루트에 대한 로그 아웃이 필요한지 아닌지를 결정해야합니다. 내가 할 경우 루트를 로그 아웃하는 방법.mysql에 사용자를 추가하는 C 프로그램
//header files inclusion
int main(void)
{
//declared MYSQL,MYSQL_REs,MYSQL_ROW variables.
// here declared username,pwd,localhost,databasename
// here declared variable to query
con = mysql_init(NULL);
/* connection to database */
if(!mysql_real_connect(con,server,username,password,database,0,NULL,0)) {
{
printf("error in connection\n");
exit(1);
}
printf("\n Enter the username to create a user in DB\n");
scanf("%s",name);
printf("\n Enter password \n");
scanf("%s",pwd);
sprintf(sql_addUser,"create user '%s'@'localhost' identified by '%s';",name,pwd);
mysql_query(con,sql_addUser);
sprintf(sql_grantAcc,"grant INSERT on '%s'.* to '%s'@'localhost';",databse,name);
mysql_query(con,sql_grantAcc);
그래서 여기서 루트 모드로 사용자를 만들었습니다. 그런 다음 새로 생성 된 사용자를 사용하여 MySQL에 들어가야하므로 로그 아웃하거나 연결을 닫아야합니다. 사용자 모드를 변경하는 방법에 대한 해결책을 알려주십시오.
내가 설정 한 연결을 닫을 필요가있는 사용자 모드를 변경한다고 가정하면이 맞지 않습니까?
mysql_free_result(result);
mysql_close(con);
con = mysql_init(NULL);
if(!mysql_real_connect(con,server,name,pwd,database,0,NULL,0)) {
{
printf("error in connection\n");
exit(1);
}
안녕하세요 @Qsp 응답 해 주셔서 감사합니다. 나는 내가하는 일에 투쟁하지만, 더 많은 일을하기 위해 해결책을 주었다. 나는 mysql_change_user가 나를 위해 가장 잘 맞다고 생각한다. bcoz 나는 데이터베이스의 미래를 바꾸지 않는다. – Srini