2010-09-17 11 views
50

मैंने अभी अपने सर्वर पर mysql पर डेटाबेस बनाया है। मैं php का उपयोग कर अपनी वेबसाइट के माध्यम से इसे कनेक्ट करना चाहता हूँ। यह मेरा कनेक्शन फ़ाइल की सामग्री है:mysql सर्वर पोर्ट नंबर

$dbhost = 'localhost'; 
$dbuser = 'root'; 
$dbpass = 'password'; 

$conn = mysql_connect($dbhost, $dbuser, $dbpass) 
    or die('Error connecting to mysql'); 

$dbname = 'epub'; 
mysql_select_db($dbname); 

मुझे पता है कि उपयोगकर्ता नाम/पासवर्ड हैं, और मैं सर्वर का IP पता जानते हैं। मैं बस सोच रहा हूं कि मुझे कैसे पता चलेगा कि किस पोर्ट का उपयोग करना है?

+1

यह किस प्रकार की मशीन है? यदि इसका लिनक्स जांचता है कि MySQL चल रहा है, या तो "सेवा mysqld स्थिति" या "/etc/init.d/mysqld स्थिति" रूट के रूप में। – Chris

+0

@ क्रिस, यह विंडोज सर्वर, 2008 पर चल रहा है। – 109221793

उत्तर

62

यदि आपका MySQL सर्वर डिफ़ॉल्ट सेटिंग्स पर चलता है, तो आपको इसे निर्दिष्ट करने की आवश्यकता नहीं है।

डिफ़ॉल्ट MySQL बंदरगाह है 3306.

[mysql_error() उपयोग दिखाने के लिए अद्यतन]

$conn = mysql_connect($dbhost, $dbuser, $dbpass) 
    or die('Error connecting to mysql: '.mysql_error()); 
+0

मैंने अपने आईपी पते दोनों की कोशिश की है, और इसके साथ: 3306 इसके अंत में जोड़ा गया है, कोई भी काम नहीं है। क्या कोई तरीका है कि मैं एक अलग बंदरगाह है तो पता लगा सकता हूं? मैंने इस सर्वर को स्थापित नहीं किया है। – 109221793

+0

फिस्ट आपको यह जांचना चाहिए कि आप mysql_connect() से क्या त्रुटि प्राप्त कर रहे हैं। इसके लिए mysql_error() फ़ंक्शन का उपयोग करें। यह जानने के लिए कि त्रुटि क्या है, यह जानने में हमारी सहायता करेगा कि क्या हो रहा है, और वास्तविक समस्या क्या है। – Mchl

+0

त्रुटि है: 'xxx.xx.xx.xx' (10060) – 109221793

2

तो आपके द्वारा निर्दिष्ट एक यूनिक्स प्रणाली पर फाइल सिस्टम प्रणाली सॉकेट का उपयोग कर के लिए 'स्थानीय होस्ट' ग्राहक libs डिफ़ॉल्ट - phs.ini (अगर सेट है) से mysql_default_socket मान का प्रयास कर रहा है तो my.cnf मान।

आप एक अलग उपकरण का उपयोग कर कनेक्ट करते हैं, तो

आप एक नेटवर्क पोर्ट (जो एक सुबह थोड़ा धीमा है) का उपयोग करना चाहते हैं तो 127.0 निर्दिष्ट करने का प्रयास कमांड " '% सॉकेट%' जैसे शो चर" जारी करने की कोशिश .0.1 या मशीन के साथ एक भौतिक अंतरफलक।

9

जांच यह पता दोस्त mysql की

<?php 
// we connect to example.com and port 3307 
$link = mysql_connect('example.com:3307', 'mysql_user', 'mysql_password'); 
if (!$link) { 
    die('Could not connect: ' . mysql_error()); 
} 
echo 'Connected successfully'; 
mysql_close($link); 

// we connect to localhost at port 3307 
$link = mysql_connect('127.0.0.1:3307', 'mysql_user', 'mysql_password'); 
if (!$link) { 
    die('Could not connect: ' . mysql_error()); 
} 
echo 'Connected successfully'; 
mysql_close($link); 
?> 
2

डिफ़ॉल्ट पोर्ट SQL सर्वर के 3306

डिफ़ॉल्ट पॉट 1433

4

है अगर आप एक चर के रूप में अपने बंदरगाह करना चाहते है , आप इस तरह PHP लिख सकते हैं:

$username = user; 
$password = pw; 
$host = 127.0.0.1; 
$database = dbname; 
$port = 3308; 

$conn = mysql_connect($host.':'.$port, $username, $password); 
$db=mysql_select_db($database,$conn); 
49

खिड़कियों के लिए, आप अपने स्थानीय मेजबान के पोर्ट संख्या जानना चाहते हैं, जिस पर Mysql आप MySQL कमांड लाइन ग्राहक पर इस क्वेरी का उपयोग कर सकते चल रहा है -

SHOW VARIABLES WHERE Variable_name = 'port'; 


mysql> SHOW VARIABLES WHERE Variable_name = 'port'; 
+---------------+-------+ 
| Variable_name | Value | 
+---------------+-------+ 
| port   | 3306 | 
+---------------+-------+ 
1 row in set (0.00 sec) 

यह आप पोर्ट नंबर दे देंगे जिस पर MySQL चल रहा है।

1

यह एक पीडीओ-केवल विज़ुअलाइज़ेशन है, क्योंकि mysql_* लाइब्रेरी बहिष्कृत है।

<?php 
    // Begin Vault (this is in a vault, not actually hard-coded) 
    $host="hostname"; 
    $username="GuySmiley"; 
    $password="thePassword"; 
    $dbname="dbname"; 
    $port="3306"; 
    // End Vault 

    try { 
     $dbh = new PDO("mysql:host=$host;port=$port;dbname=$dbname;charset=utf8", $username, $password); 
     $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
     echo "I am connected.<br/>"; 

     // ... continue with your code 

     // PDO closes connection at end of script 
    } catch (PDOException $e) { 
     echo 'PDO Exception: ' . $e->getMessage(); 
     exit(); 
    } 
?> 

ध्यान दें कि यह ओपी प्रश्न बाद में पोर्ट नंबरों के बारे में नहीं दिखाई देता है। यदि आप हमेशा 3306 के डिफ़ॉल्ट पोर्ट का उपयोग कर रहे हैं, तो इसे यूरी से हटाने पर विचार करें, यानी port=$port; भाग को हटा दें।

यदि आप अक्सर बंदरगाहों को बदलते हैं, तो $port चर में किए गए परिवर्तनों के साथ उपरोक्त बंदरगाह उपयोग पर विचार करें।

कुछ संभावना त्रुटियों ऊपर से लौटे:

PDO Exception: SQLSTATE[HY000] [2002] No connection could be made because the target machine actively refused it. 
PDO Exception: SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: No such host is known. 

नीचे त्रुटि में, हम कर रहे हैं कम से कम हमारे कनेक्ट जानकारी बदलते करीब हो रही के बाद,:

PDO Exception: SQLSTATE[HY000] [1045] Access denied for user 'GuySmiley'@'localhost' (using password: YES) 

आगे के परिवर्तन के बाद, हम वास्तव में अभी बंद हैं, लेकिन काफी नहीं:

PDO Exception: SQLSTATE[HY000] [1049] Unknown database 'mustard' 

मैनुअल से PDO Connections पर:

0
<?php 
    $dbhost = 'localhost:3306'; 
//3306 default port number $dbhost='localhost'; is enough to specify the port number 
//when we are utilizing xammp default port number is 8080. 
     $dbuser = 'root'; 
     $dbpass = ''; 
     $db='users'; 

      $conn = mysqli_connect($dbhost, $dbuser, $dbpass,$db) or die ("could not connect to mysql");  

       // mysqli_select_db("users") or die ("no database"); 

    if(! $conn) { 
     die('Could not connect: ' . mysqli_error($conn)); 
    }else{ 
     echo 'Connected successfully'; 
    } 
    ?> 
+0

क्या आप अपना उत्तर और समझा सकते हैं? – soundslikeodd

+0

पोर्ट नंबर 3306 का उपयोग 8080 पोर्ट का उपयोग कर MySQL और tomcat के लिए किया जाता है। अधिक पोर्ट नंबर सर्वर या सॉफ़्टवेयर चलाने के लिए उपलब्ध हैं जो हमारे तत्काल संकलन के लिए हो सकता है ..8080 संख्या के लिए डिफ़ॉल्ट है, इसलिए केवल हमें ग्रहण आईडीई में पोर्ट त्रुटि मिल रही है। जेवीएम और टोमकैट हमेशा 8080.3306 को MySQL के लिए डिफ़ॉल्ट पोर्ट नंबर पसंद करते हैं। इसलिए हर बार "लोकलहोस्ट: 3306" –

+0

के रूप में उल्लेख नहीं करना चाहते हैं कृपया एक स्पष्टीकरण के साथ अपना उत्तर संपादित करें। – soundslikeodd

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^