XAMPP में phpMyAdmin के साथ "कंट्रोलर के लिए कनेक्शन आपके विन्यास में परिभाषित विफल"


127

मैंने अभी-अभी अपनी Windows XP मशीन पर XAMPP स्थापित किया है, और मुझे एक त्रुटि मिली है:

कंट्रोलर के लिए कनेक्शन जैसा कि आपके कॉन्फ़िगरेशन में परिभाषित किया गया था विफल रहा।

XAMPP स्थापित करने से पहले, मैंने MySQL डेटाबेस स्थापित किया था और इसमें एक पासवर्ड था। मैंने MySQL के लिए config.inc.php में पासवर्ड बदल दिया है और मुझे यह त्रुटि मिली है:

<?php
if (!empty($_SERVER['HTTPS']) && ('on' == $_SERVER['HTTPS'])) {
    $uri = 'https://';
} else {
    $uri = 'http://';
}
$uri .= $_SERVER['HTTP_HOST'];
header('Location: '.$uri.'/xampp/');
exit;
?>

जब मैं index.php को एक्सेस करने की कोशिश करता हूं, तो ऐसा लगता है कि XAMPP इंस्टॉलेशन में कुछ गड़बड़ है। इस समस्या को सुलझाने में मैं क्या कर सकता हूं?


19
IMHO इस तरह के प्रश्न बहुत अधिक सामान्य हैं और उन्हें ठीक करने के लिए बहुत समय बर्बाद होता है। "समस्याओं के परिभाषित दायरे" के अलावा, इसकी विवादास्पद अगर हम "सॉफ्ट टूल के तहत आमतौर पर प्रोग्रामर द्वारा उपयोग किया जाता है" या "एक ऐसा है"। व्यावहारिक, उत्तर देने योग्य समस्या जो नरम विकास के लिए अद्वितीय है। "तो मैं एसओ दिग्गजों से अनुरोध करता हूं कि" विषय "को चिह्नित करने से पहले इस तरह के पोस्ट को ध्यान से विचार करें।" एसओ एक विश्वसनीय, प्रोग्रामिंग समस्या के लिए ans पाने के लिए एक स्टॉप डेस्टिनेशन है, उन व्यक्तियों से जिन्होंने इसका सामना किया है और इसे हल किया है। इसलिए प्रोग्रामर के लिए इस तरह की समस्या के लिए सटीक खोज करने की तुलना में सटीक उत्तर प्राप्त करना उपयोगी होगा।
डेक्सटर

जवाबों:


243
  1. ब्राउज़र में phpMyAdmin खोलें और रूट के रूप में लॉग इन करें।
  2. नामक एक डेटाबेस बनाएँ phpmyadmin
  3. एक उपयोगकर्ता बनाएं जिसका नाम pmaऔर अपने वेब सर्वर का होस्टनाम या IP पता करने के लिए "मेजबान" सेट (यदि वेब सर्वर और MySQL एक ही बॉक्स उपयोग कर रहे हैं localhost), पासवर्ड का नोट बनाएँ, और अधिक नए उपयोगकर्ता पूरा नियंत्रण अनुदान phpmyadminडेटाबेस। यह अनुशंसा की जाती है कि इस उपयोगकर्ता के पास इस डेटाबेस के अलावा किसी अन्य चीज़ तक पहुंच नहीं है।
  4. PhpMyAdmin संस्थापन निर्देशिका में जाएँ, जहाँ आपको उप-निर्देशिका मिलनी चाहिए sql
  5. इसमें sqlआपको एक फाइल मिलेगी जिसका नाम है create_tables.sql। इसे टेक्स्ट एडिटर में खोलें।
  6. PhpMyAdmin में, phpmyadminडेटाबेस का चयन करें और "SQL" टैब पर क्लिक करें।
  7. create_tables.sqlपाठ बॉक्स में से पूरे पाठ को कॉपी / पेस्ट करें , और क्वेरी चलाएँ।
  8. config.inc.phpफाइल को phpMyAdmin इंस्टॉल डायरेक्टरी में खोलें , और निम्न पंक्तियों को जोड़ें (या मौजूदा सेटिंग्स को बदल दें यदि वे वहां पहले से मौजूद हैं):

    $cfg['Servers'][1]['pmadb'] = 'phpmyadmin';
    $cfg['Servers'][1]['controluser'] = 'pma';
    $cfg['Servers'][1]['controlpass'] = '<your password>';
    
    // Note: The list below may grow as PMA evolves and more control tables are added
    // Use your common sense! Don't just blindly copypasta, look at what it means!
    $cfg['Servers'][1]['bookmarktable'] = 'pma_bookmark';
    $cfg['Servers'][1]['relation'] = 'pma_relation';
    $cfg['Servers'][1]['userconfig'] = 'pma_userconfig';
    $cfg['Servers'][1]['table_info'] = 'pma_table_info';
    $cfg['Servers'][1]['column_info'] = 'pma_column_info';
    $cfg['Servers'][1]['history'] = 'pma_history';
    $cfg['Servers'][1]['recent'] = 'pma_recent';
    $cfg['Servers'][1]['table_uiprefs'] = 'pma_table_uiprefs';
    $cfg['Servers'][1]['tracking'] = 'pma_tracking';
    $cfg['Servers'][1]['table_coords'] = 'pma_table_coords';
    $cfg['Servers'][1]['pdf_pages'] = 'pma_pdf_pages';
    $cfg['Servers'][1]['designer_coords'] = 'pma_designer_coords';
  9. फ़ाइल को सहेजें और बंद करें।

महत्वपूर्ण - पीएमए लॉगिन पर कॉन्फ़िगरेशन को लोड करता है, इसका मूल्यांकन करता है और इसे सत्र डेटा में संग्रहीत करता है ताकि संदेश तब तक गायब न हो जाए जब तक कि ऐसा न करें:

  1. PhpMyAdmin से लॉग आउट करें और फिर से लॉग इन करें

समस्या सुलझ गयी।


3
+1 के लिए "लॉग आउट करें और वापस लॉग इन करें"। मैं पाँच मिनट बर्बाद कर रहा हूँ और मुझे एहसास नहीं हुआ कि मुझे यह करना है।
मैथ्यू जी

1
@MatthewG हाँ कॉन्फ़िगर फ़ाइल को आपके सत्र में उस बिंदु पर लोड किया जाता है जहाँ आप डिस्क I / O में कटौती करने के लिए लॉग इन करते हैं, ताकि ^ ^ PMA कॉन्फ़िग फ़ाइल में आपके द्वारा किए जा सकने वाले किसी भी परिवर्तन पर लागू हो
डेवग्रैंडैम

14
किसी कारण से, phpmyadmin के मेरे संस्करण में "pma__bookmark" के रूप में तालिका के नाम हैं और 2 "अंडरस्कोर" के साथ। यदि किसी के पास समान है, तो आपको तदनुसार "config.inc.php" को संपादित करना चाहिए। और BTW विन्यास फाइल उबंटू में "/ etc / phpmyadmin" निर्देशिका में स्थित है
ajbcc

6
उबंटू 14.04 पर create_tables.sql के लिए स्थान /usr/share/doc/phpmyadmin/examples/create_tables.sql.gz
karlingen

5
यह एक उत्कृष्ट उत्तर है ( +मुझसे 100 वाँ ;))। हालाँकि, मुझे चरण 4 में बताई गई उदाहरण निर्देशिका नहीं मिली । इसके बजाय यह यहाँ था: /usr/share/doc/phpmyadmin/examplesऔर वहाँ मुझे संकुचित sql फ़ाइल मिली create_tables.sql.gz:।
माजिद फौलादपुर 13

134

यदि आप यहां आए हैं और आप डेबियन / उबंटू (या किसी अन्य dpkg आधारित डिस्ट्रो) का उपयोग कर रहे हैं, तो निम्न कमांड निष्पादित करें:

sudo dpkg-reconfigure phpmyadmin

Phpmyadmin पैकेज में आपके लिए यह ऑपरेशन करने के लिए स्क्रिप्ट है, यह सभी की अनुमति के साथ एक उपयोगकर्ता है। यदि आप रूट के रूप में लॉग इन हैं, तो sudo की आवश्यकता नहीं है।

संपादित करें: यह मौजूदा phpmyadmin उपयोगकर्ता को छोड़ने का प्रयास करने लायक हो सकता है।


2
यह मेरे लिए काम करता है, मुझे बस इसके द्वारा पूछे गए डेटाबेस को पुनर्स्थापित करना था। धन्यवाद। (उबंटू 12.04)
इनो

17
मुझे यह काम करने के लिए कॉन्फ़िगरेशन के दौरान नियंत्रण उपयोगकर्ता के लिए "phpmyadmin" के बजाय "pma" लिखना था।
हार्डेल

1
धन्यवाद, आपने मेरा दिन बचा लिया :) hehe
जेरेमी डिकायर

2
'Phpmyadmin' उपयोगकर्ता को पहले छोड़ देना और मेरे लिए काम करने के बाद 'sudo dpkg-reconfigure phpmyadmin' चलाना। धन्यवाद!
bshea

1
नोट: यह सभी कॉन्फ़िगर किए गए सर्वरों को मिटा देगा, यदि कोई हो।
रैप्टर

23

बस संपूर्ण "उन्नत सुविधाओं के लिए उपयोगकर्ता" और "उन्नत phpMyAdmin सुविधाएँ" कोड ब्लॉक में टिप्पणी करें config.inc.php


इसके लिए कोई स्पष्टीकरण? यह कैसे और क्यों काम करता है?
ह्यूय

1
@ बनिए: कभी-कभी यह सब मायने रखता है;)
लकीर

किन फाइलों में .... ये कितना बेख़बर है! लेकिन हर कोई यह समझता है कि मैं बेवकूफ महसूस कर रहा हूं और इसे ठीक करने में असमर्थ हूं, इसलिए मैं हार गया!
जेमी हटबर

2
यह config.inc.php
Rocoty

1
User for advanced features" and "Advanced phpMyAdmin featuresअंदर कुछ भी मौजूद नहीं हैphpmyadmin/config.inc.php
AN

11

क्या आपने हाल ही में अपना MySQL सर्वर रूट पासवर्ड बदला है? यदि उत्तर हां है, तो इससे phpMyAdmin कंसोल के अंदर त्रुटि / चेतावनी का कारण बनता है। समस्या को ठीक करने के लिए, बस अपनी phpMyAdmin की config-db.php फ़ाइल को संपादित करें और उचित डेटाबेस पासवर्ड सेटअप करें।

पहला जवाब मेरे विचार में बहुत ज्यादा गड़बड़ कर रहा है और दूसरा जवाब मेरे काम नहीं आया। इसलिए:

लिनक्स-आधारित सर्वरों में फ़ाइल आमतौर पर स्थित होती है:

/etc/phpmyadmin/config-db.php

या:

/etc/phpMyAdmin/config-db.php

उदाहरण: (मेरी फ़ाइल इस तरह दिखी और मैंने उपयोगकर्ता phpmyadminको adminउस उपयोगकर्ता नाम से बदल दिया , जिसे मैंने अपना डेटाबेस phpmyadmin के माध्यम से बनाए रखने के लिए बनाया था, और उपयुक्त पासवर्ड में डाल दिया था।

$dbuser='phpmyadmin';
$dbpass=''; // set current password between quotes ' '
$basepath='';
$dbname='phpmyadmin';
$dbserver='';
$dbport='';
$dbtype='mysql';

क्रेडिट: http://tehnoblog.org/phpmyadmin-error-connection-for-controluser-as-defined-in-your-configuration-failed/


4

इसने मेरे लिए Ubuntu 16.04 के तहत phpmyadmin के साथ काम किया:

मैंने /etc/phpmyadmin/config.inc.php को संपादित किया और निम्नलिखित 2 पंक्तियों को बदल दिया:

$cfg['Servers'][$i]['controluser'] = 'root'; 
$cfg['Servers'][$i]['controlpass'] = 'thepasswordgiventoroot'; 

3

उबुन्टु पर।

बेन का संदेश करीब है लेकिन यह रूट पासवर्ड नहीं है जो समस्या है, जो समस्या मुझे मिली वह यह थी कि मैंने इसे स्थापित करते समय phpmyadmin डेटाबेस के लिए एक पासवर्ड बनाया था। यह पासवर्ड ubuntu पर संस्थापन में नहीं लिया गया है इसलिए चर $ dbpass = ''; डेटाबेस सेटिंग फ़ाइल खाली है और आपके द्वारा सेट किया गया पासवर्ड नहीं है।

  1. निम्न कमांड का उपयोग करके आपको कमांड लाइन पर सही पासवर्ड दर्ज करने के लिए mysql पर लॉग इन करना है: mysql -u phpmyadmin -p एक खाली पासवर्ड आज़माएं मैंने पाया कि मुझे एक्सेस से वंचित कर दिया गया था, स्थापना के दौरान आपके द्वारा सेट किए गए पासवर्ड का उपयोग करके फिर से कमांड दर्ज करें। यदि यह आप में प्रवेश करता है, तो अब जान लें कि पासवर्ड क्या है।
  2. /Etc/phpadmin/config-db.php संपादित करें और $ dbpass = '' बदलें ; से $ dbpass = 'Your Password'; और फाइल को सेव करें।
  3. संपादित करें /etc/dbconfig-common/phpmyadmin.conf परिवर्तन dbc_dbpass = '' ; to dbc_dbpass = 'Your Password'; और फाइल को सेव करें। अपने ब्राउज़र को बंद करें और अब आपको पता चलेगा कि संदेश कैसे चला गया है।

2

"मेरे लिए इसे फिर से काम करने के लिए मैंने सिर्फ फाइलें हटा दी हैं

ib_logfile0 और

ib_logfile1।

से:

/ आवेदन / एमएनएम / डीबी / mysql56 / ib_logfile0 "

XAMPP पर इसके Xampp / xamppfiles / var / mysql

PHP की चेतावनी से इसे समझें: mysqli_connect (): (HY000 / 2002): कनेक्शन ने इनकार कर दिया


0

समस्या यह है कि PhpMyAdmin नियंत्रण उपयोगकर्ता (आमतौर पर: pma) पासवर्ड mysql उपयोगकर्ता से मेल नहीं खाता: pma (समान उपयोगकर्ता) पासवर्ड।

इसे ठीक करने के लिए, 1. पासवर्ड सेट करें जिसे आप उपयोगकर्ता के लिए यहाँ चाहते हैं:

"C: \ XAMPP \ phpMyAdmin \ config.inc.php"

$ cfg ['सर्वर'] [$ i] ['controlpass'] = 'your_new_phpmyadmin_pass';

(लाइन 32 की तरह होना चाहिए)

फिर mysql पर जाएं, रूट के रूप में लॉगिन करें, यहां जाएं: (मैंने यहां जाने के लिए phpmyadmin का उपयोग किया)

डेटाबेस: mysql »तालिका: उपयोगकर्ता

उपयोगकर्ता को संपादित करें: pma

फ़ंक्शन सूची (बाएं कॉलम) से "पासवर्ड" चुनें और दाएं कॉलम पर "your_new_phpmyadmin_pass" सेट करें और जाएं।

Mysql सर्वर को पुनरारंभ करें।

अब संदेश गायब हो जाना चाहिए।


0

मैं बस config.inc.php फ़ाइल पर परिवर्तन करता हूँ। इस लिंक में गलती से पासवर्ड है $ cfg ['सर्वर'] [$ i] ['पासवर्ड'] = in आपका पासवर्ड ’; और अब इसकी पूरी तरह से काम किया है।


कृपया अपने प्रश्न को संपादित करें और अधिक विवरण जोड़ें। यह निम्न गुणवत्ता का है।
मैथ्यूज सनी

उपरोक्त संकल्प है, मैंने उपरोक्त चरणों का पालन नहीं किया है। मैं बस config.inc.php डायरेक्टरी में जाता हूं और इस फाइल को config.inc.php में नोटपैड में खोलता हूं और इस लाइन को $ cfg ['सर्वर'] [$ i] ['पासवर्ड'] = 'अपने पासवर्ड' में बदल देता हूं
मोहित शर्मा

मैंने देखा कि पासवर्ड का उल्लेख है, गलत है और मैंने फिर से सही पासवर्ड डाला और इसे सहेज लिया और फिर से phpmyadmin को चलाने और इसे अब ठीक से चलाने
मोहित शर्मा

0

ubuntu /etc/phpmyadmin/config-db.php पर

सुनिश्चित करें कि नियंत्रण उपयोगकर्ता के लिए पासवर्ड आपके config.inc.php से मेल खाता है

ब्लोफिश के लिए भी बहुत छोटी त्रुटि

/var/lib/phpmyadmin/blowfish_secret.inc.php को संपादित करें और कुंजी को लंबा करें


0

etc/phpmyadmin/config.inc.php सभी ब्लॉक में टिप्पणी में ubuntu 18.04 पर

वैकल्पिक: उन्नत सुविधाओं के लिए उपयोगकर्ता


-1

आज सिर्फ XAMPP स्थापित करने के बाद, मैंने mysql के लिए एक अलग डिफ़ॉल्ट पोर्ट का उपयोग करने का निर्णय लिया, जो भयानक था। इन पंक्तियों को phpMyAdmin में जोड़ना सुनिश्चित करें config.inc.php:

$cfg['Servers'][$i]['host'] = 'localhost';

$cfg['Servers'][$i]['port'] = 'port';`
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.