mysql — Как назначить привилегию динамически создаваемой базе данных на панели C phpmyadmin …. программно, используя переполнение стека

На самом деле я хочу создать базу данных на моем сервере динамически при запуске веб-страницы с помощью php. когда код позади веб-страницы был выполнен, я нашел вновь созданную базу данных, Код для создания динамической базы данных работал нормально …

Но проблема в том, что я не могу назначить необходимые права на чтение и запись конкретному пользователю этой базы данных.

Я попробовал ниже фрагмент кода:

function createDb($cPanelUser,$cPanelPass,$dbName) {
$buildRequest = "/frontend/x3/sql/addb.html?db=".$dbName;
$openSocket = fsockopen('localhost',2082);
if(!$openSocket) {
return "Socket error";
exit();
}
$authString = $cPanelUser . ":" . $cPanelPass;
$authPass = base64_encode($authString);
$buildHeaders  = "GET " . $buildRequest ."\r\n";
$buildHeaders .= "HTTP/1.0\r\n";
$buildHeaders .= "Host:localhost\r\n";
$buildHeaders .= "Authorization: Basic " . $authPass . "\r\n";
$buildHeaders .= "\r\n";
fputs($openSocket, $buildHeaders);
while(!feof($openSocket)) {
fgets($openSocket,128);
}
fclose($openSocket);

}





function createUser($cPanelUser,$cPanelPass,$userName,$userPass) {

$buildRequest = "/frontend/x3/sql/adduser.html?user=".$userName."&pass=".$userPass;

$openSocket = fsockopen('localhost',2082);
if(!$openSocket) {
return "Socket error";
exit();
}

$authString = $cPanelUser . ":" . $cPanelPass;
$authPass = base64_encode($authString);
$buildHeaders  = "GET " . $buildRequest ."\r\n";
$buildHeaders .= "HTTP/1.0\r\n";
$buildHeaders .= "Host:localhost\r\n";
$buildHeaders .= "Authorization: Basic " . $authPass . "\r\n";
$buildHeaders .= "\r\n";

fputs($openSocket, $buildHeaders);
while(!feof($openSocket)) {
fgets($openSocket,128);
}
fclose($openSocket);
}







function addUserToDb($cPanelUser,$cPanelPass,$userName,$dbName,$privileges) {

$buildRequest = "/frontend/x3/sql/addusertodb.html?user=".$userName."&db=".$dbName.$privileges;

$openSocket = fsockopen('localhost',2082);
if(!$openSocket) {
return "Socket error";
exit();
}

$authString = $cPanelUser . ":" . $cPanelPass;
$authPass = base64_encode($authString);
$buildHeaders  = "GET " . $buildRequest ."\r\n";
$buildHeaders .= "HTTP/1.0\r\n";
$buildHeaders .= "Host:localhost\r\n";
$buildHeaders .= "Authorization: Basic " . $authPass . "\r\n";
$buildHeaders .= "\r\n";

fputs($openSocket, $buildHeaders);
while(!feof($openSocket)) {
fgets($openSocket,128);
}
fclose($openSocket);
}



createDb('cpanelusername','cpanelpassword','dbname');
createUser('cpanelusername','cpanelpassword','dbusername','dbpassword');
addUserToDb('cpanelusername','cpanelpassword','dbusername','dbname','&ALL=ALL');

Пожалуйста помоги….

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …