sql >> Database teknologi >  >> RDS >> Mysql

Sådan opretter du MySQL-databaser på delte Linux-hostingplaner

Tak til @Alex C, der fik mig på rette vej. Følgende vil fungere med mange delte hostingplaner, men du vil først tjekke deres politikker om dette. Min skrev tilbage til mig i en teknisk support-billet og sagde:"Du skal automatisere gennem et cpanel-script." Så det er hvad det her er.

I eksemplet nedenfor ville jeg allerede have købt root.com som mit hovedroddomæne for min delte hostingplan. Jeg vil gerne opsætte en database med navnet "user_myexample" med adgangskoden "myexample" tildelt med fulde privilegier til brugeren "user_myexamp". Hvis "user_"-præfikset og "myexamp" ser mærkeligt ud -- er det fordi cpanel har et præfiks baseret på root-brugerens brugerkonto i cpanel, og databasebrugernavnet må maksimalt være på 7 tegn.

For at oprette forbindelse til Cpanel for at få dette til at ske, indtastede jeg en cpanel-hjemmeside-URL (som varierer med hostingplanen), så den kunne analyseres og genbruges. Jeg har også givet min root.com's cpanel bruger/pass information.

Ekko-sætningerne er kun output-svaret, uanset om hver HTTP GET-anmodning virkede eller ej. Du ønsker måske at inspicere det for at se, om der er noget, du kan analysere ud af det output for succes/fiasko.

Bemærk, at nogle hostingplaner blokerer for, at file_get_contents forbinder til en URL, så du skal muligvis skifte med fopen($sURL, 'r') eller Curl API.

<?php

// @ input vars
$sPastedCpanelHomepageURL = 'https://root.com:2083/frontend/x3/index.html';
$sNewDB = 'myexample';
$sNewDBUser = 'myexamp'; // must be 7 chars max
$sNewDBPass = 'myexample';
$sCPanelUser = 'user';
$sCPanelPass = 'pass';

// @ processing
$sCP = dirname($sPastedCpanelHomepageURL);
$sCP = str_replace('://','://' . $sCPanelUser . ':' . $sCPanelPass . '@',$sCP);

$sPrefix = substr($sCPanelUser, 0, 7) . '_';

$sTask1 = '/sql/addb.html?';
$sTask2 = '/sql/adduser.html?';
$sTask3 = '/sql/addusertodb.html?';

$sNewDB = urlencode($sNewDB);
$sNewDBUser = urlencode($sNewDBUser);
$sNewDBPass = urlencode($sNewDBPass);
$sCPanelUser = urlencode($sCPanelUser);
$sCPanelPass = urlencode($sCPanelPass);

$sNewDBUser = substr($sNewDBUser, 0, 7);

$asData1 = array(
  'db' => $sNewDB
);
$sData1 = http_build_query($asData1);
$s = file_get_contents($sCP . $sTask1 . $sData1);
echo "$s\n";

$asData2 = array(
  'user' => $sPrefix . $sNewDBUser,
  'pass' => $sNewDBPass,
  'pass2' => $sNewDBPass
);
$sData2 = http_build_query($asData2);
$s = file_get_contents($sCP . $sTask2 . $sData2);
echo "$s\n";

$asData3 = array(
  'user' => $sPrefix . $sNewDBUser,
  'db' => $sPrefix . $sNewDB,
  'update' => '',
  'ALL' => 'ALL'
);
$sData3 = http_build_query($asData3);
$s = file_get_contents($sCP . $sTask3 . $sData3);
echo "$s\n";


  1. Problem med at vise forespørgselsresultater

  2. PHP Mysql PDO:Generel fejl:2006 MySQL-serveren er forsvundet

  3. Find dublerede strenge i databasen

  4. Returner en grupperet liste med forekomster ved hjælp af Rails og PostgreSQL