Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

साझा लिनक्स होस्टिंग योजनाओं पर प्रोग्रामेटिक रूप से MySQL डेटाबेस कैसे बनाएं

@Alex C को धन्यवाद जिन्होंने मुझे सही रास्ते पर लाया। निम्नलिखित कई साझा होस्टिंग योजनाओं के साथ काम करेगा, लेकिन आप पहले इस पर उनकी नीतियों की जांच करना चाहेंगे। माइन ने मुझे एक तकनीकी सहायता टिकट में वापस लिखा और कहा, "आपको एक cpanel स्क्रिप्ट के माध्यम से स्वचालित करना होगा।" तो, यह वही है।

नीचे दिए गए उदाहरण में, मैं अपनी साझा होस्टिंग योजना के अपने मुख्य रूट डोमेन के रूप में root.com पहले ही खरीद चुका होता। मैं उपयोगकर्ता "user_myexamp" को पूर्ण विशेषाधिकारों के साथ असाइन किए गए पासवर्ड "myexample" के साथ "user_myexample" नामक डेटाबेस सेट करना चाहता हूं। यदि "user_" उपसर्ग और "myexamp" अजीब दिखता है - ऐसा इसलिए है क्योंकि cpanel में cpanel में रूट उपयोगकर्ता के उपयोगकर्ता खाते के आधार पर उपसर्ग है, और डेटाबेस उपयोगकर्ता नाम केवल 7 वर्ण अधिकतम हो सकता है।

ऐसा करने के लिए Cpanel से जुड़ने के लिए, मैंने एक cpanel होमपेज URL दर्ज किया (जो होस्टिंग योजना के साथ बदलता रहता है) ताकि इसे पार्स किया जा सके और पुन:उपयोग किया जा सके। साथ ही, मैंने अपने root.com की cpanel उपयोगकर्ता/पास जानकारी प्रदान की है।

इको स्टेटमेंट सिर्फ आउटपुट प्रतिक्रिया है कि प्रत्येक HTTP GET अनुरोध काम करता है या नहीं। आप इसका निरीक्षण करना चाह सकते हैं यह देखने के लिए कि क्या कुछ ऐसा है जिसे आप सफलता/विफलता के लिए उस आउटपुट से बाहर निकाल सकते हैं।

ध्यान दें कि कुछ होस्टिंग प्लान URL से कनेक्ट होने वाली file_get_contents को ब्लॉक कर देते हैं, इसलिए आपको fopen($sURL, 'r') या 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. IF स्टेटमेंट इस स्थिति में मान्य नहीं है

  2. MySQL कार्यक्षेत्र में त्रुटियों पर भी SQL क्वेरी जारी रखें

  3. SQL जॉइन और COUNT का उपयोग करना

  4. लारवेल माइग्रेशन - अखंडता बाधा उल्लंघन:1452 चाइल्ड पंक्ति को जोड़ या अपडेट नहीं कर सकता:एक विदेशी कुंजी बाधा विफल हो जाती है

  5. MySQL पीडीओ क्वेरी से तेज तैयार? यह सरल परीक्षण यही दिखाता है