sql >> Databáze >  >> RDS >> Mysql

Jak programově vytvářet databáze MySQL na sdílených plánech hostování Linuxu

Děkuji @Alex C, který mě dostal na správnou cestu. Následující bude fungovat s mnoha sdílenými hostingovými plány, ale nejprve si to budete chtít ověřit s jejich zásadami. Můj mi odepsal na lístek technické podpory a řekl:"Musíte automatizovat pomocí skriptu cpanel." Takže to je to.

V níže uvedeném příkladu bych již koupil root.com jako svou hlavní kořenovou doménu mého sdíleného hostingového plánu. Chtěl bych nastavit databázi s názvem "user_myexample" s heslem "myexample" přiřazeným s plnými oprávněními uživateli "user_myexamp". Pokud předpona „user_“ a „myexamp“ vypadají zvláštně – je to proto, že cpanel má předponu založenou na uživatelském účtu uživatele root do cpanelu a uživatelské jméno databáze může mít maximálně 7 znaků.

Chcete-li se připojit k Cpanel, aby se to stalo, zadal jsem adresu URL domovské stránky cpanel (která se liší podle plánu hostování), aby mohla být analyzována a znovu použita. Také jsem poskytl informace o uživateli/průchodu cpanelu mého root.com.

Příkazy echo jsou pouze výstupní odpovědí, zda každý požadavek HTTP GET fungoval nebo ne. Možná to budete chtít zkontrolovat, abyste zjistili, zda existuje něco, co můžete z tohoto výstupu analyzovat pro úspěch/neúspěch.

Všimněte si, že některé plány hostingu blokují připojení file_get_contents k URL, takže možná budete muset přepnout na fopen($sURL, 'r') nebo 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. převést datum výběru data na datum mysql

  2. Soubor vs databáze pro efektivitu úložiště v chatovací aplikaci

  3. Operátor `~` (tilda) v booleovském fulltextovém vyhledávání v MySQL se nechová tak, jak je uvedeno na webu pro vývojáře MySQL

  4. Jak extrahovat řetězec mezi dvěma speciálními znaky v mysql